标签:c#
1、C++中一般采用下面三种方法之一管理指针成员:
(1)指针成员采取常规行为。这样的类具有指针的所有缺陷:具有指针成员且使用默认复制构造函数和赋值操作符,无法避免悬垂指针(两个对象的指针成员指向同一内存,删除了其中一个指针指向的内存时,另一个指针将不再指向有效的内存空间)。
(2)类可以实现所谓的"智能指针"行为。引入计数类,智能指针类将一个计数器与类的对象相关联。使用计数跟踪该类有多少个对象共享同一指针。当计数为0时,删除对象。
(3)类采取值行为。采用重载的复制构造函数、赋值操作符和析构函数。
2、指针成员采取常规行为示例:两个指针指向同一块内存,会引起不可预料的后果
3、"智能指针"行为示例:注意构造函数
4、定义值型类:三法则(赋值操作符、复制构造函数、析构函数)
版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。
标签:c#
原文地址:http://blog.csdn.net/u013948187/article/details/46803379