取消引用无效指针或智能指针时代码会崩溃。添加断言以帮助查找问题。例如,
Type* p = NULL; // Always initilize to be null.
assert(p); // Add before dereferencing to help to find the problem.
p->f(); // Crashes if p is invalid.
我的问题是如何在取消引用指针时自动添加断言。例如,
#define PTR_RUN(p, f) assert(p); p->f;
这有效但可读性不佳,并且可能因粗心使用宏而存在一些隐藏的问题。有什么更好的方法吗?谢谢。
最佳答案
或者是否值得使用某种在某些情况下会抛出异常的智能指针?
关于c++ - 如何自动为指针取消引用添加安全措施?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15043860/