Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Можно ли быть тимлидом, но не быть экспертом? Или тренеры не играют - 25.09

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V817. It is more efficient to search for 'X' character rather than a string.

16 Ноя 2016

Анализатор обнаружил код, который предназначен для поиска символа в строке и который потенциально можно оптимизировать.

Рассмотрим пример неэффективного кода:

bool isSharpPresent(const std::string& str)
{
  return str.find("#") != std::string::npos;
}

В таком случае лучше использовать перегруженную версию функции find, которая принимает вместо строки символ.

Улучшенный вариант кода:

bool isSharpPresent(const std::string& str)
{
  return str.find('#') != std::string::npos;
}

Приведем еще пример неэффективного кода, который можно потенциально оптимизировать:

const char* GetSharpSubStr(const char* str)
{
  return strstr(str, "#");
}

В таком случае, эффективнее использовать функцию strchr, которая ищет символ:

const char* GetSharpSubStr(const char* str)
{
  return strchr(str, '#');
}