摘要: 当一个类的成员里面有指针的时候,使用默认拷贝构造函数的时候就会造成多个对象管理同一块内存这样带来的后果就是,如果任意一个对象释放了这一块内存,那么其他的对象再来操作这块内存的时候就会发生预料不到的结果。为了避免对象中保存野指针从而引发的错误,提出了智能指针, 它能实现多个对象共享内存的自释放。  其实这种实现有点类似于delphi中的接口,到处传来传去的,最后自释放,就是因为接口有引用计数,当引用计数为1的时候就把对象释放掉。  C++中这种实现(C++ Primer书上借鉴来的),有几个比较巧妙的地方Has_Ptr这个类其实是想保存一个int *的指针,为了避免悬垂指针的出现,我们使用了 I 阅读全文
posted @ 2010-12-19 21:36 霞光照耀 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: C++里面的static修饰的成员,不管是数据还是函数,他都输独立于对象而存在的,对象没有创建的时候它就存在换一句话会所,static修饰的成员是不属于任何一个对象的,它是属于类的。注意Object和class 的区别。类里面的非static的成员函数在对象没有创建的时候是不能使用的,static的成员可以通过TestClass::来访问。因此非static的成员函数能访问static的变量以及函数static的成员函数不能访问非static的变量和函数,因为对象还没有创建static的成员函数类似于delphi中的class function, 在class function中self指针指 阅读全文
posted @ 2010-12-19 10:48 霞光照耀 阅读(639) 评论(0) 推荐(0) 编辑