关于智能指针的问题 auto_ptr c++我想问下 我们什么时候用这个指针 我看了半天还不知道怎么用 能给个简单的例子 充分说明它的用途么

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 05:21:58

关于智能指针的问题 auto_ptr c++我想问下 我们什么时候用这个指针 我看了半天还不知道怎么用 能给个简单的例子 充分说明它的用途么
关于智能指针的问题 auto_ptr c++
我想问下 我们什么时候用这个指针 我看了半天还不知道怎么用 能给个简单的例子 充分说明它的用途么

关于智能指针的问题 auto_ptr c++我想问下 我们什么时候用这个指针 我看了半天还不知道怎么用 能给个简单的例子 充分说明它的用途么
智能指针的最主要的作用防止裸指针带来的很多问题,如指向无效内存的指针,或者可能出现的内存泄露.
其实我不建议你看这个auto_ptr,因为在实际开发中,很少使用这个,而是使用boost库的shared_ptr,比auto_ptr更好用,更安全.如果你学会了shared_ptr,自然也会用auto_ptr了.并且vs2010里已经提供了与boost库一样的shared_ptr.
你想知道智能指针的作用,我给你举一个反例:
class A
{
private:
int* ptr;//一个裸指针成员
public:
A(){ ptr = new int[20]}
~A(){delete[] ptr}
}
如果出现下面的代码
A a1;//对象a1
.
A a2 = a1;//现在a2和a1相同了,也就意味着a2.ptr 与a1.ptr相同.
.
那么当a1被析构的时候,就会delete掉ptr指向的内存,可是目前这个指针还保存在a2里,意味着a2中的ptr指向无效的内存了,如果a2继续使用ptr,程序基本就会崩溃了,因为有效的内存已被a1析构了.
解决办法就是把上面的裸指针换成智能指针,这就是智能指针可以解决的问题之一.

关于智能指针的问题 auto_ptr c++我想问下 我们什么时候用这个指针 我看了半天还不知道怎么用 能给个简单的例子 充分说明它的用途么 一道C语言指针的问题 关于 c 指针 二维数组的输出问题,*(p+k * j+l)中间的*是什么意思. C语言中关于指针的指针问题?对于**P指针的理解:P的指针的指针就是**P.举个例子:*P=5,指的是指针P里面的数*P=5,那么,**P的意思是说*p=5里面的数?该怎么准确理解**P? C语言中关于指针的问题 ,图中的第六题 *(ptr++)+=123;如何做运算 谢谢 问一个关于C语言指针的问题,我的理解是,指针是为了通过变量的内存地址间接访问变量..但是既然可以直接..既然可以直接访问变量,为何要用上指针来间接访问变量呢.指针的优势是什么,我们 智能高分子材料研究中存在的问题 关于C程指针初级的小问题17.若有定义“int a[3][4];”,则对数组元素a[i][j](0 C语言指针输出问题问题主要是下面输出数据的时候,如果是p 关于托盘天平的问题当托盘天平平衡是,指针指的位置叫什么? C语言关于指针和二维数组的问题.准备将a[m][n]赋给指针时.定义指针时*p *p[N] (*p)[N]这有什么区别?p+1.对于这3种情况意义是一样的吗? C++下列关于this指针的说法正确的是()下列关于this指针的说法正确的是()A this指针式指向类的函数成员的指针B 在类的非静态函数中this指针指向调用该函数的对象C this指针是指向虚函数 C语言指针基本概念及其指针变量的定义是什么 指针有什么好处?好吧,是c的指针 时钟指针重合问题的公式 C语言的问题 什么是指向指针的指针,这个地方理解的不是很好,最好举个例子帮我解答, C++中的this指针是什么意思?下列关于this指针的描述中,正确的是?A.类的成员函数都有this指针 B.类的友元函数都有this指针 C.任何与类相关的函数都有this指针 D.类的非静态成员函数都有this指针 关于智能ABC打什么这个词的问题我用的是智能ABC 以前打什么只要按SM就可以了 但后来不知道怎么回事 按SM出来的是社么 我怎么才能改成以前的?