c++完成点云数据按一定数据结构的存储的代码
时间: 2024-11-20 14:38:43 浏览: 19
在C++中,我们可以使用标准库如`std::vector`、`std::array` 或者 `std::unordered_map`等来存储点云数据,具体取决于你的需求。这里提供一个简单的例子,我们将使用`std::vector`存储点云数据,每个点由 XYZ 坐标表示:
```cpp
#include <vector>
#include <cmath>
// 定义点云数据结构
struct Point {
double x, y, z; // 坐标
};
class CloudPointStorage {
public:
// 添加点到存储
void add_point(const Point& p) {
points.push_back(p);
}
// 获取所有点
std::vector<Point>& get_points() const {
return points;
}
private:
std::vector<Point> points; // 存储点的集合
};
int main() {
CloudPointStorage cloud;
// 添加点
Point point1{1.0, 2.0, 3.0};
Point point2{4.0, 5.0, 6.0};
cloud.add_point(point1);
cloud.add_point(point2);
// 访问并打印所有点
for (const auto& p : cloud.get_points()) {
std::cout << "Point (" << p.x << ", " << p.y << ", " << p.z << ")\n";
}
return 0;
}
```
阅读全文