В настоящее время я читаю «Язык программирования C ++: Специальное издание» Бьярна Страуструпа, и на странице 133 говорится следующее:
Для пользовательских типов откладывание определения переменной до доступный подходящий инициализатор также может улучшить представление. Например:
строка s; / * .... * / s = "Лучшее - враг хорошего.";
может быть намного медленнее, чем
строка s = "Voltaire";
Я знаю, что в нем говорится, что может легко , что означает, что это не обязательно так, но, скажем так, это действительно происходит.
Почему это может привести к потенциальному увеличению производительности?
Так ли это только с пользовательскими типами (или даже с типами STL), или то же самое с int
, float
и т. Д.?