void func(char c) {}
void func(std::string) {}
int main() {
std::string s("HelloWorld");
// method 1
func(s);
// method 2
for(std::size_t i = 0; i < s.size(); i++) {
func(s[i]);
}
}
Почему происходит передача значения при повторном вызове OK? не эффективно ли оно копировать то же количество символов в конце? Или они на самом деле то же самое, и я что-то упускаю?Передача строки по значению против передачи каждого символа по значению
Какова цель фактического кода Youre письменной форме и имеют проблемы с? Должна ли функция обрабатывать только один символ за раз или обрабатывать целую строку? –
Вы также должны подсчитать количество вызовов функций в двух случаях. А также сделайте некоторые измерения, если вам интересно, что быстрее. И, конечно же, не забывайте про передачу ссылок. –