有这样的C ++优化吗?

时间:2009-10-29 10:36:21

标签: c++ optimization

E.g。

vector<string> a;

vector<string> b;

a.push_back("first");

b=a;

是否会以某种方式进行优化

vector<string> b;

b.push_back("first");

2 个答案:

答案 0 :(得分:5)

简短回答:是的。

答案很长:不是真正的“优化”,因为大多数现代编译器(读作:非MSVC)都会这样做。它被称为static single assignment(SSA),GCC从版本4.0开始支持它 - 它也踢了屁股!

答案 1 :(得分:1)

嗯,你正在为自己保存一个operator= ...

的电话

你应该永远记住2条优化规则。

“程序优化的第一条规则:不要这样做。程序优化的第二条规则(仅限专家!):不要这样做。“ - Michael A. Jackson