📄 dtors2.c
字号:
// { dg-do run }// GROUPS passed destructors#include <stdio.h>int destruct = 0;class bla {public: inline bla(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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -