通常情况下,头文件的声明顺序并不会对程序的正确性产生影响。但为了保持代码的规范和可读性,建议按照以下顺序进行头文件的声明:
-
首先包含系统库的头文件,如
<iostream>
、<vector>
等。 -
然后是第三方库的头文件,例如 PCL 的头文件
<pcl/io/io.h>
和<pcl/io/pcd_io.h>
。 -
最后包含自定义的头文件。
PCL 的头文件之间通常存在一定的依赖关系,因此在包含某个特定的头文件之前,需要先包含其所依赖的其他头文件。在这种情况下,按照正确的顺序包含头文件可以确保代码的正确编译和运行。
以下面这段代码为例:
int main(int argc, char** argv) {
// 创建PointCloud的智能指针
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
// 加载pcd文件到cloud
pcl::io::loadPCDFile("pcl_logo.pcd", *cloud);
pcl::visualization::CloudViewer viewer("Cloud Viewer");
//这里会一直阻塞直到点云被渲染
viewer.showCloud(cloud);
// 循环判断是否退出
while (!viewer.wasStopped()) {
// 你可以在这里对点云做很多处理
}
system("pause"