📄 scope1.c
字号:
// Test that we've scoped the destructor properly for variables declared// in a conditional.// { dg-do run }extern "C" void abort ();class C{ bool live; public: C(); C(const C &); ~C (); operator bool() const;};void f1 (){ while (C br = C()) abort ();}void f2 (){ for (; C br = C(); ) abort ();}void f3 (){ if (C br = C()) abort ();}void f4 (){ switch (C br = C()) { default: abort (); case false: break; }}int main(){ f1(); f2(); f3(); f4(); return 0;}C::C(){ live = true;}C::C(const C &o){ if (!o.live) abort (); live = true;}C::~C(){ live = false;}C::operator bool() const{ if (!live) abort (); return false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -