我需要创建一个结构,允许我在 3-D 坐标系中定义 x 个点(点的数量在运行时发生变化)。每个点都有一个 x、y 和 z 值。到目前为止,我有一个像这样的基本结构,但我需要它能够有多个点,每个点都有自己的值。
struct point {
int point_num;
double x;
double y;
double z;
};
谢谢!
最佳答案
如果point_num
是一个不连续但唯一的标识符,您可以使用 std::map<int, point>
并从结构中删除标识符。这样你就可以使用索引进行 O(log(N)) 查找。
如果point_num
值是唯一且连续的,请使用 std::vector<point>
- 同样,id 字段是多余的,因为 vector 中的位置为您提供了索引值。
阅读一些关于 STL 的内容,尤其是 containers ,在你走得更远之前。
关于c++ - 我将如何创建一个允许我定义具有多个值的多个对象的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498479/