>
>
>
V817. It is more efficient to seek 'X' …


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

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

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

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, '#');
}