E.g。
vector<string> a;
vector<string> b;
a.push_back("first");
b=a;
是否会以某种方式进行优化
vector<string> b;
b.push_back("first");
答案 0 :(得分:5)
简短回答:是的。
答案很长:不是真正的“优化”,因为大多数现代编译器(读作:非MSVC)都会这样做。它被称为static single assignment(SSA),GCC从版本4.0开始支持它 - 它也踢了屁股!
答案 1 :(得分:1)
嗯,你正在为自己保存一个operator=
...
你应该永远记住2条优化规则。
“程序优化的第一条规则:不要这样做。程序优化的第二条规则(仅限专家!):不要这样做。“ - Michael A. Jackson