⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 singleton.c

📁 linux下编程用 编译软件
💻 C
字号:
// { dg-do run  }// This tests two things:// 1. there is an annoying warning.// singleton.C:26: warning: `class singleton' only defines private constructors and has no friends// egcs fails to see that there is a public static accessor function.// 2. the program crashes, because apparently the static variable s in// singleton::instance() is considered constructed although the ctor// exited via an exception. (crash changed to nonzero return here)class singleton {public:       static singleton& instance() {               static singleton s;               return s;       }       int check() {return initialized;}private:       singleton() : initialized(1) {               if ( counter++ == 0 ) throw "just for the heck of it";               initialized = 2;       }       singleton( const singleton& rhs );       void operator=( const singleton& rhs );       int initialized;       static int counter;};  int singleton::counter;int main(){       while (1) {               try {                       return singleton::instance().check()-2;               } catch (...) { }       }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -