以下不正确的程序段是int main() { class A { public:int v; }; A *p=new A; p->v=4; delete p; return 0; } B. int main() { class A { public:int v;A *p; }; A a; a.p=&a; return 0; } C. int main() { class A { int v; }; A a; a.v = 3; return 0; } D. int main() { class A { public:int v; A *p; }; A a; a.p=new A; delete a.p; return 0; }
时间: 2023-07-14 07:13:50 浏览: 206
cpp代码-C++:this指针 常量指针 const int *p
以下不正确的程序段是B. int main() { class A { public:int v;A *p; }; A a; a.p=&a; return 0; }。因为这里将一个类的实例的指针赋值给了该实例的指针成员,这样会导致循环引用和内存泄漏。因为当这个实例被销毁时,它指向自己的指针成员不会被自动销毁,所以会造成内存泄漏。
阅读全文