如何定义 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/