(一)C++触发断点问题

C++ 触发断点问题,这个问题困扰了我一天,编译时没有错误,debug也没看出什么问题…
结果突然想到了一种可能的问题,尝试了一下,果然没报错!nice!!!
1)原代码

	// 4、打开pcd图片
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud < pcl::PointXYZ>);
	cloud = read_pointcloud(output_pcd);

	// 5、进行直通滤波,需内部设置格式
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud < pcl::PointXYZ>);  // 创建滤波对象
	cloud_filtered = PassTh(cloud);
	
	// 6、进行统计滤波,内部设置格式
	cloud_filtered = Staistical(cloud_filtered);

	// 7、进行体素滤波,内部设置网格体积大小
	cloud_filtered = Voxel(cloud_filtered);

生成代码正常,但是运行时报错,触发断点问题!!!
2)修改后

	// 4、打开pcd图片
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud < pcl::PointXYZ>);
	cloud = read_pointcloud(output_pcd);

	// 5、进行直通滤波,需内部设置格式
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud < pcl::PointXYZ>);  // 创建滤波对象
	cloud_filtered = PassTh(cloud);
	
	// 6、进行统计滤波,内部设置格式
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered_1(new pcl::PointCloud < pcl::PointXYZ>);
	cloud_filtered_1 = Staistical(cloud_filtered);

	// 7、进行体素滤波,内部设置网格体积大小
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered_2(new pcl::PointCloud < pcl::PointXYZ>);
	cloud_filtered_2 = Voxel(cloud_filtered_1);

之前学过一段时间的Python,习惯性的python的用法。个人理解,当运行到(6、进行统计滤波 的代码) 的时候,此处C++中cloud_filtered变量的内存是被占用的,把新的变量存入这个内存中,会导致出现内存问题,故触发断点!只能通过赋予另一个新的变量去接一下,才能不出问题。

你可能感兴趣的:(C++个人问题总结,python,cmd,人工智能)