首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于一个指针置空的有关问题,有点搞

2013-09-15 
关于一个指针置空的问题,有点搞。本帖最后由 leezjl 于 2013-09-15 16:04:21 编辑struct MyStruct{int* num

关于一个指针置空的问题,有点搞。
本帖最后由 leezjl 于 2013-09-15 16:04:21 编辑

struct MyStruct
{
int* num;
};

MyStruct ms;
ms.num = new int(10);

vector<MyStruct> vec;
vec.push_back(ms);

MyStruct ms1 = *(vec.begin());
ms1.num = NULL;//这里把num置null没意义

MyStruct ms2 = *(vec.begin());
cout<<*ms2.num<<endl;//num指针还是有效

当我把ms1从vec里取出来的时候,然后置空了。实际上这步操作没什么意义。那么该怎么操作,才能正确的吧vec里的ms.num给置空呢?
我这里只是想回收vec内ms结构体里的num指针,并不想把它delete,因为num所指内存里的数据我在别的地方还要用的。 指针 struct 数据
[解决办法]
引用:
Quote: 引用:

vec[0].num = NULL;

 这样子貌似没用

不要貌似,你试过了?
[解决办法]
这样吧
MyStruct& ms1 = *(vec.begin());


另外“vec[0].num = NULL;”是有用的楼主

热点排行