模拟实现AutoPtr、ScopedPtr、SharedPtr智能指针实际上就是能够智能化的管理动态开辟空间的内存释放问题,C++中引入智能指针,很大一方面是当我们在动态开辟空间时,由于一些疏忽,或者说是对于一些代码,执行的顺序不是我们预期能够想到的,导致一些内存泄露的问题,使得程序..
分类:
其他好文 时间:
2016-03-24 18:38:40
阅读次数:
167
// vc下的智能指针,重点在于拥有权的转移#include using namespace std;templateclass Autoptr{public: Autoptr(int *p = NULL) :ptr(p), owns(ptr != NULL) {} Autoptr(const Au...
分类:
编程语言 时间:
2016-01-16 22:27:25
阅读次数:
230
//#pragmaonce
//#include<iostream>
//#include<string>
//usingnamespacestd;
//template<classT>
//classautoPtr
//{
//public:
// autoPtr(T*ptr)
// :_ptr(ptr)
// {
// }
// autoPtr(constautoPtr<T>&ptr)
// :_ptr(newT(*(ptr._ptr)))
//..
分类:
其他好文 时间:
2015-12-16 17:33:15
阅读次数:
217
#include #include "Poco/AutoPtr.h"#include "Poco/Net/FTPClientSession.h"#include "Poco/Net/StreamSocket.h"using Poco::AutoPtr;using Poco::Net::FTPClie...
分类:
其他好文 时间:
2015-09-08 19:47:46
阅读次数:
719
引用计数: 1.无论何时一个引用被销毁或重写,它所引用的对象的引用计数减少。 2.无论何时一个引用被创建或拷贝,它所引用的对象的引用计数增加。 3.初始时的引用计数是1。 4.当一个对象的引用计数为0时,这个对象...
分类:
其他好文 时间:
2015-09-07 11:16:17
阅读次数:
297
// vc下的智能指针,重点在于拥有权的转移
#include
using namespace std;
template
class Autoptr
{
public:
Autoptr(int *p = NULL) :ptr(p), owns(ptr != NULL)
{}
Autoptr(const Autoptr &t) :ptr(t.release()), owns(t.own...
分类:
编程语言 时间:
2015-06-05 22:43:53
阅读次数:
205
STL智能指针使用方法auto_ptr pi(new int(1024));定义智能指针类(使用计数)实现代码:class RealPtr {
friend class AutoPtr;
int *ip;
size_t use;
RealPtr(int *p) : ip(p), use(1) {}
~RealPtr() { delete ip; }...
分类:
其他好文 时间:
2015-04-13 09:41:23
阅读次数:
194
参考自: http://www.cppblog.com/expter/archive/2009/03/29/78270.htmlauto_ptr是什么。解释1.auto_ptr是一个管理指针的对象,防止内存泄漏和便于程序员编程时的内存管理解释2.auto_ptr所做的事情,就是动态分配对象以及当对象...
分类:
其他好文 时间:
2015-01-10 12:31:52
阅读次数:
227
1 -> *运算符重载//autoptr.cpp#include#includeusing namespace std;struct date{ int year; int month; int day;};struct Person{ string name; int age; bool gend...
分类:
编程语言 时间:
2014-10-12 15:13:18
阅读次数:
296