摘要:
1.智能指针通过RAII方法来管理指针:构造对象时,完成资源初始化;析构对象时,对资源进行清理及汕尾. 2.auto_ptr,通过“转移所有权”来防止析构一块内存多次.(如何转移?详情看第二篇文章) 3.scoped_ptr,不“转移所有权”而是禁止拷贝/赋值对象.(C++如何禁止拷贝对象?详情看第 阅读全文
摘要:
1,问题: 1,new 关键字创建出来的对象位于什么地方? 1,位于堆空间; 2,有没有可能位于其它地方? 1,有; 2,通过一些方式可以使动态创建的对象位于静态存储区; 3,这个存储区在程序结束后释放; 2,new/delete 被忽略的事实: 1,new/delete 的本质是 C++ 预定义的 阅读全文
摘要:
1,问题: 1,动态内存申请一定成功吗? 1,不一定成功; 2,常见的动态内存分配代码: 1,C 代码: 1 int* p = (int*)malloc(10 * sizeof(int)); 2 3 if( p != NULL ) 4 { 5 // ... ... 6 } 1,这种写法合理; 2,C 阅读全文
摘要:
1,智能指针本质上是一个对象,这个对象可以像原生的指针一样使用,因为智能指 针相关的类通过重载的技术将指针相关的操作符都进行了重载,所以智能指针对象可以像原生指针一样操作,今天学习智能指针类模板,通过这个类模板就可以淘汰原生的指针了; 2,智能指针的意义: 1,现代 C++ 开发库中最重要的类模板之 阅读全文