如何添加和读取两种变量的向量元素
How to add and read elements of vector of two type of variables
我读了这篇文章:向量保存两个差异数据类型
然后我尝试使用这种格式。
我在这篇文章中看到了两种方法:
在我的情况下:
a) std::vector<std::pair<Vecplane3d, CartesianPoint>> vector_super;
b)std::vector<std::tuple<Vecplane3d, CartesianPoint>> vector_super;
,但是当我想填充此向量时。我无法做到。
我对此进行了编码:
vector_centroids.push_back(vec_normal, vec_centroid);
我用其他方式编码:
vector_centroids.insert(vec_normal, vec_centroid);
对不起,但我正在寻找有关此的文献,但我什么也没找到。
您正在操纵配对/元组的向量,即使它汇总了两个值,它仍然是您的std :: vector的一个元素。这就是为什么您必须给矢量一对或一个包含两个汇总对象的元组:
vector_centroids.push_back({vec_normal, vec_centroid}); //pair
如果您正在使用元组:
vector_centroids.push_back(std::make_tuple(vec_normal, vec_centroid)); //tuple
您是否可以使用以下结构:
struct NormalCentroidStruct
{
Vecplane3d normal;
CartesianPoint centroid;
};
然后,使用矢量时,您可以按以下方式执行:
int main()
{
std::vector<NormalCentroidStruct> vector_centroids;
//Fill vec_normal and vec_centroid
vector_centroids.push_back({vec_normal, vec_centroid});
}
相关文章:
- 在C++中将函数压缩为两种方式
- 如何使映射键具有两种不同的数据类型?
- 两种访问I2C总线的方法有什么区别?
- 两种模板示例有什么区别?
- 如何构造可以调用和返回两种不同类型的模板
- 这两种C++语法之间有什么区别?
- 为什么两种不同的对象初始化方式给出不同的输出
- std::cin 从控制台获取两种不同的变量类型,'storing'以后使用第二种类型?
- 定义类模板构造函数的两种方法之间的区别
- 初始化类的两种方法?
- C++ 一个函数,可以根据接受的值返回两种类型之一
- 如何检查程序员在C++中提供的两种不同格式的输入
- 声明具有两种类型的变量:"int char"
- 为什么 c++ 编译器在对两种不同类型的数值变量使用"std::max()"函数时会出现错误
- 如何添加和读取两种变量的向量元素
- 这两种初始化成员变量的方法之间有区别吗?
- 用于使用两种不同变量类型的循环初始化
- 为什么有两种方法来初始化变量
- for loop 的 init-语句,包含两种类型的变量
- 如何将两种类型的数据分配给一个变量