![]() |
1
3
指针(原始和智能)表示
所有权
. 因此,要选择合适的指针,您需要决定所有权。如果某事
拥有
一个物体,如果这个东西死了,这个物体也必须死。如果我死了,我最好的朋友会死吗?我不这么认为。因此,我没有
拥有
我最好的朋友。这排除了
所以我们有两个选择:
最简单的方法可能是依靠智能指针来跟踪活着的人。这意味着,你有一些
另一种方法是由一个专门的经理来跟踪活着的人。同样,你需要一个所有人居住的地方。您可以按值存储它们,或通过
我建议不要为了这个目的而存储原始指针,而是去获取一个ID。相反,存储个人ID,并按ID拥有一个个人注册中心。这个注册中心将处理所有的混乱,并将正确地检测情况,当有人想要访问一个死人时,触发一个邮递员给亲属发一封信,等等。这也允许区分当我没有最好的朋友,当我最好的朋友死了。
如果我们储存
|
![]() |
2
2
智能指针
尽管如此,您必须确保这些指针始终有效。为此,
警告。
因为你没有提供更多关于
|
![]() |
apetrai · 我应该如何假设算法使用哪种迭代器类别? 3 年前 |
![]() |
ridiculous_fish · std::是否保证短路? 3 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 3 年前 |
![]() |
johnco3 · 初始化固定C数组成员结构 7 年前 |
![]() |
mans · 为什么出现此错误:constexpr在此处无效 7 年前 |
![]() |
juztcode · 在C++中尝试捕获-创建了多少个对象 7 年前 |
![]() |
Steven Scott · 忽略元素的基于范围的for循环 7 年前 |