Я в настоящее время чтения в «Язык программирования C++: Special Edition» Бьярне Страуструп и на странице 133 говорится следующее:Предложенное увеличение скорости при определении строки со значением сразу, вместо того, задерживая
Для определяемые пользователем, откладывая определение переменной до , доступный подходящий инициализатор также может привести к повышению производительности . Например:
string s; /* .... */ s = "The best is the enemy of the good.";
может легко быть гораздо медленнее, чем
string s = "Voltaire";
Я знаю, что утверждает может легко, что означает, что не обязательно будет так, однако давайте просто скажем, это происходит.
Зачем это делать потенциал увеличение производительности?
Действительно ли это относится к пользовательским типам (или даже к типам STL), или это также относится к int
, float
и т. Д.?
Кроме ответов ниже, это может помочь: http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.22 – dsign