具有矢量的矢量的多个数据类型
Multiple Data Types with Vectors of Vectors
本文关键字:数据类型 更新时间:2023-10-16
我正试图找到一种方法来创建一个具有三种不同类型的三维向量,使其结构为:
Vector[long][int][double];
我发现了很多例子,展示了如何创建一个具有单一数据类型的三维矢量,例如:
std::vector<vector<vector<int> > >;
但我现在可以找到或弄清楚如何将多个数据类型分配给向量。
如果希望同时使用这三种类型,则应该使用结构。
struct Vector3d{
long x;
int y;
double z;
};
//... or a union, if each entry only contains one type.
union NumberContainer
{
long x;
int y;
double z;
};
std::vector<Vector3d> vector1;//Vector of three types
std::vector<NumberContainer> vector2;//Vector that can contain one of three types per entry
vector1[0].x=1;
vector1[0].y=2;
vector1[0].z=3;
//vector1 contains... x=1, y=2,z= 3
vector2[0].x=1;
vector2[0].y=2;
vector2[0].z=3;
//vector2 contains x=undefined, y=undefined, z=3
概念上Vector[long][int][double]
没有任何意义。你可以有一个向量的向量的东西的向量。最后只有一种类型的东西。
迈出维度之外的一步。如果你只是想在一个向量中每个元素包含3个值,你可以通过多种方式来实现。制作一个包含3个值的类型的向量:可能是您自己的结构。
在一天结束时,您的数据结构必须包含某些东西,并且这些东西只能是一种类型。现在,如果你想在向量的每个位置存储多个数据类型,你的"某物"本身可以是多个不同类型的结构。
如果您提供更多的上下文
相关文章:
- 防止主数据类型C++的隐式转换
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在C++中打印指向不同基元数据类型的指针的内存地址
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 如何计算数据类型的范围,例如int
- C++中数据类型修饰符的顺序
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 特定数据类型的模板类
- 具有多个模板的模板函数,用于特定数据类型(如字符串)?
- 有没有办法提示用户使用哪种数据类型作为模板 c++
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- 如何获取C++字符数据类型的地址
- 将复杂的非基元C++数据类型转换为 Erlang/Elixir 格式,以使用 NIF 导出方法
- 构造智能点数据类型以及普通数据类型的通用方法
- 如何使映射键具有两种不同的数据类型?
- 数据类型"struct seq<0, 1, 2>{}"含义是什么?
- 如何在不破坏现有应用程序的情况下更改 API 中 stl 容器的数据类型?
- Static_cast转换为错误的数据类型,但结果仍然正确?
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?