我是C++的新手并且遇到了所谓的 bug,但不知怎的,我的程序才有效..这是代码
#include#include #include int main() { string s ("cat"); queue _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真的是指无效的对象?