【发布时间】:2012-05-19 09:20:09
【问题描述】:
这段代码有效吗?
int foo()
{
std::vector<std::string>& v = std::vector<std::string>(5, "X");
// Do something silly...
return 42;
}
出于某种原因,我认为临时std::vector 对象(从赋值符号开始) 应该在构造后立即销毁(从而使引用无效) .
但是,调试证明我错了,好吧,我意识到我不太明白为什么在函数返回时会破坏临时变量。
我想我对一些基本的东西有很大的误解,所以请赐教:)
【问题讨论】:
-
当你说“调试证明我错了”时,你到底是什么意思?
标签: c++ visual-studio variables lifetime construction