c++ - 如何定义静态 boost 共享指针?

标签 c++ boost static initialization shared-ptr

如何定义 cloud课外?

typedef pcl::PointCloud<pclPoint> pclPointCloud
class Deformer{
    public:
    static pclPointCloud::Ptr cloud;
};
pclPointCloud::Ptr Deformer::cloud = ??;    // What to write here

我不能使用 NULL 或类似 pclPointCloud::Ptr Deformer::cloud = boost::shared_ptr<pclPointCloud>(NULL); 的方式定义它吗? ?

最佳答案

如果您简单地删除 = ?? 部分,它将是默认构造的。这与将其设置为 null 相同(即调用 reset())。

顺便说一下,关于类静态的一些有趣的事情是,即使是 POD 类型,如原始指针和整数类型,在您的程序启动时默认情况下也将具有零值。因此,即使是“未初始化”的原始指针也将为空。

关于c++ - 如何定义静态 boost 共享指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449412/

相关文章:

c++ - 使用 Boost.Build 和 C++ 管理库依赖关系

c++ - 基于迭代器构造boost优先级队列

java - Web 服务中每个用户的全局变量

java - 静态类的替代品

c++ - 堆排序 - 哪个堆(最小/最大)用于升序和降序排序?

c++ - 比较两个 std::lists 的内容

c++ - 无休止的While循环会占用CPU资源吗?

c++ - 按非字母顺序对 GtkTreeView 中的数据进行排序?

boost - 具有空行和属性的基于行的解析器,如何忽略属性

c++ - getInstance() 是如何工作的?