【发布时间】:2016-11-24 16:51:40
【问题描述】:
我创建了一个元组向量:
std::vector<std::tuple<int*, bool, int*>> *DataStucture;
接下来我想遍历一个数据集以仅获取每个元组的第一个元素。
这合法吗:
DataStructure -> push_back(std::make_tuple(some_pointer_to_some_int_value, std::ignore, std::ignore));
在下一轮数据集扫描中,我比较 some_int_value 的值,并在匹配时设置以下两个 DataStructure 元素:
DataStructure -> push_back(std::make_tuple(std::ignore, some_bool_value, some_pointer_to_some_int_value2);
我不确定std::ignore 到底是干什么用的。我尝试检查 cpp 参考网站,但没有得到它。
【问题讨论】:
-
“some_int_value”与“一些指向 int 值的指针”不同。
-
@[Sam Varshavchik] 更改为指针。对不起。
-
首先,您的第二个操作不完全是“设置以下两个元素”,它是添加新元组。其次,您不需要
std::ignore,而是使用nullptr。std::ignore用于将元组解包到不同的变量中,而不是创建它们。