目前我正在读的“The C++编程语言:特别版”由Bjarne Stroustrup的和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 2012-01-18 17:32:58