我是 C++ 新手,遇到了所谓的 错误,但不知何故我的程序可以正常工作.. 这是代码
#include<iostream>
#include<queue>
#include <string>
int main()
{
string s ("cat");
queue<string> _queue;
_queue.push(s);
string & s1 = _queue.front();
_queue.pop();
// at this time s1 should become invalid as pop called destructor on s
std::cout << s1 << std::endl;
return 0;
}
即使 s1 是对无效对象的引用,它也可以正常工作。有没有办法我可以断言 s1 真的指的是一个无效的对象?