概念
行为像值的类和行为像指针的类这两种说法其实蛮拗口的,这也算是 《C++Primer》 翻译的缺点之一吧。。。
其实两者的意思分别是:
- 行为像值的类: 每个类的对象都有自己的实现
- 行为像指针的类: 所有类的对象共享类的资源(类似于
shared_ptr
智能指针,每有一个对象持有该资源则引用计数+1,每有一个对象释放该资源则引用计数-1,引用计数为0时释放内存)
本篇博客的内容跟 类 和 智能指针 两篇博客有关。不了解的同学可以先看看这两篇博客。
行为像值的类
对于类管理的资源,每个对象都应该有一份自己的拷贝(实现)。如下面的 string类型的指针
,使用拷贝构造函数 or 赋值运算符时,每个对象拷贝的都是 指针成员ps 指向的 string