【发布时间】:2013-06-19 22:40:22
【问题描述】:
我正在学习 C++ 并阅读 C++ Primer。有个问题想知道答案:
给定一个指针p,你能确定p是否指向一个有效的对象吗?如果是这样,怎么做?如果没有,为什么不呢?
【问题讨论】:
-
请定义“有效”。
-
正是智能指针的优点。
-
如果您知道底层内存管理器是如何工作的(它是如何记账的),那么您也许可以弄清楚。但是,这将是非常特定于平台的。如果您自己管理内存,那么这应该不是问题。最佳做法仍然是坚持最佳实践(RAII、封装)。
-
@chris - 智能指针的优点。但 GIGO 仍然适用;您始终可以创建包含错误指针的智能指针。