此代码段是否有效?C++临时变量生存期
int foo()
{
std::vector<std::string>& v = std::vector<std::string>(5, "X");
// Do something silly...
return 42;
}
出于某种原因,我认为暂时std::vector
对象(右从分配符号)应该被销毁之后它的建设(从而使参考无效)。
但是,调试证明我错了,而且,我意识到我不太明白为什么临时变量在函数返回时被破坏。
我想我有一些基本的东西很强的误解,所以请赐教:)
当你说“调试证明我错了”时,你究竟是什么意思? –