something::something something() 也是一种使用范围解析运算符的方法吗?

Is something::something something() also a way to use scope resolution operator?

我试图理解一个使用点云库的 C++ 程序,在该代码中我遇到了一个奇怪的语法 -

pcl::PointCloud<pcl::Normal>::Ptr cloud_normals(new pcl::PointCloud<pcl::Normal>);

我阅读了范围解析运算符,但我仍然对这个“'cloud_normals'”是否是 Ptr 库的函数感到困惑。有人可以帮助我了解这行代码中发生了什么吗?

pcl::PointCloud<pcl::Normal>::Ptr cloud_normals(new pcl::PointCloud<pcl::Normal>);

这里 cloud_normalsshared pointerPointCloud 其中包含 pcl::Normal 类型。检查 here.

此行正在创建类型为 PointCloud<pcl::Normal> 的对象并将其分配给共享指针 cloud_normals