c++ - 在 C++ 中强制执行 NULL 检查

标签 c++ pointers boost

我的方法可以返回某种指针(例如 boost::shared_ptr )并且这个指针可能为 NULL。有什么方法可以强制我的代码的用户检查代码是否为空?

此类事物的一些示例 - scals 的 Option 容器,可能是 boost 具有类似 boost::option 的东西?

最佳答案

您可以执行以下操作:

  • 返回一个智能指针类型,如果被访问并设置为 NULL 则抛出异常。
  • 抛出异常而不是返回 NULL 指针
  • 返回一个 std::optional(或 boost::optional),它比指针更好地表达了意图(即“值可能丢失”)

关于c++ - 在 C++ 中强制执行 NULL 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23216866/

相关文章:

c++ - 如何通过信号和槽发送数据?

c++ - 使用构造函数打印特定数字时遇到问题

c++ - uintptr_t 数据类型是什么?

c++ - 从openCV获取cvReleaseImage时出现错误

c++ - 访问直接内存地址并获取 C++ 中的值

c++ - 在 void * 和指向成员函数的指针之间进行转换

python - 在 python 中加载自定义 dll 时出现依赖性错误,使用 Visual Studio 2017 和 boost 构建

c++ - boost::filesystem::path 和 std::string

c++ - 我应该如何初始化 boost::array?

c++ - QT中两个窗口共享websocket连接