C ++ std :: string Приложение vs push_back ()C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ std :: string Приложение vs push_back ()

Сообщение Anonymous »

Это действительно вопрос только для моего собственного интереса, который я не смог определить с помощью документации.

Я вижу на http://www.cplusplus.com/reference/string/string/, что приложение имеет сложность:

"Неуказанный, но обычно до линейного в новой длине строки."

wyple_bback: (). />
"Unspecified; обычно амортизируется постоянная, но вплоть до линейной в новой длине строки." < /p>

В качестве примера игрушки предположим, что я хотел добавить символы «foo» к строке. Будет < /p>

myString.push_back('f');
myString.push_back('o');
myString.push_back('o');
< /code>

и < /p>

myString.append("foo");
< /code>

Сумма точно то же самое? Или есть разница? Вы могли бы выяснить, что добавление будет более эффективным, потому что компилятор будет знать, сколько памяти требуется, чтобы расширить строку указанное количество символов, в то время как push_back может потребоваться для обеспечения памяти каждый вызов?

Подробнее здесь: https://stackoverflow.com/questions/150 ... -push-back
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»