dtors2.c

来自「用于进行gcc测试」· C语言 代码 · 共 42 行

C
42
字号
// { dg-do run  }// GROUPS passed destructors#include <stdio.h>int destruct = 0;class bla {public:        inline bla(const char * jim) { ; }        inline ~bla() { destruct++; if (destruct == 2) printf ("PASS\n");}};class ulk {public:        inline ulk() {}        inline ~ulk() {}        void funk(const bla & bob) { ;}             //       ^ interestingly, the code compiles right if             //         this & is deleted (and therefore the parameter             //         passed as value)};int main() {        ulk dumm;        dumm.funk(bla("laberababa"));  // this compiles correctly        dumm.funk((bla)"laberababa");  // this produces incorrect code -                                       // the temporary instance of                                       // the class "bla" is constructed                                       // but never destructed...}

⌨️ 快捷键说明

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