effc3.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 59 行

C
59
字号
// { dg-do compile }// { dg-options "-Weffc++" }// Contributed by Benjamin Kosnik <bkoz at redhat dot com>// PR c++/16165 and PR c++/8211: Improve item 11 of -Weffc++// We should not warn for this class since this kind of pointers can//  never hold dynamic memory.struct A {  void (*func1)(void);  void (A::*func2)(void);  int A::*func3;  int a;  void b(void);  A();  ~A();};// We do not warn for this class because there is no destructor, so we//  assume there is no dynamic memory allocated (it could point to a//  global variable).struct B {  int *ptr;  B();};// We should emit a warning for thesestruct C1 {		// { dg-warning "" "" }  int *ptr;  C1();  ~C1();};struct C2 {		// { dg-warning "" "" }  int *ptr;  C2();  C2(const C2&);  ~C2();};struct C3 {		// { dg-warning "" "" }  int *ptr;  C3();  ~C3();  C3& operator=(const C3&);};// But not for thisstruct C4 {  int *ptr;  C4();  C4(const C4&);  ~C4();  C4& operator=(const C4&);};

⌨️ 快捷键说明

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