И есть смещение (типа std::string::size_type) в этой строке по имени p.
Функция f работает с частью строки по имени s, начиная с позиции p и до конца строки.
Какой вариант функции f эффективнее:
SomeType f( const std::string::size_type pos, const std::string& str)
{
...
doSmth(str.substr(pos));
...
}
...
f(p, s);
или
SomeType f(const std::string& str)
{
...
doSmth(str);
...
}
...
auto str = s.substr(p);
f(str);
Я конечно сомневаюсь что есть вообще какая либо разница, особенно учитывая оптимизации, но что вы можете сказать?
Можно лучше: SomeType f(std::string_view str) { ... doSmth(str); ... } std::string_view str = std::string_view(s).substr(p); f(str);
Обсуждают сегодня