c++指针的一些陷阱(更新ing)

来源:互联网 发布:ubuntu 运行c 编辑:程序博客网 时间:2024/06/10 02:22

       C++的指针真的是有很多陷阱啊。我会在这篇文章中不断的总结一些指针使用出现的陷阱。


1.类成员指针陷阱。类成员指向成员函数的局部变量。

在给成员指针赋值的时候,容易将指针指向局部变量,局部变量在函数执行结束时会销毁,由于指针指向的是一个地址,所以但函数结束时指针会指向一个不存在的地址,这是我们的程序就会出现问题了。可以看看下面理解。

#include<iostream>using namespace std;class A{public:A(){              //错误p = new int[1];int b;cout << "Enter:";cin >> b;p = &b;}//A() {             //正确//p = new int[1];//int b;//cout << "Enter:";//cin >> b;//*p = b;//}void output() {cout << *p << endl;}private:int *p;};void main() {A a;a.output();system("pause");}



0 0
原创粉丝点击