- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个元组 vector :
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 引用网站,但没有找到。
最佳答案
我正在阅读 http://en.cppreference.com/w/cpp/utility/tuple/ignore .
我认为你不能那样做,因为 std::ignore 仅用作左值占位符。
例如,如果您有一个不想使用的返回值,您可以执行以下操作。
std::ignore = AFunctionWithAReturnValue();
它不能用作右值的一部分。为了您的目的,我将在第一次扫描时像这样填写占位符值:
std::make_tuple(some_pointer_to_some_int_value, false, nullptr);
关于c++ - Vector<元组>, make_tuple<int, ignore, float>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40791483/
http://en.cppreference.com/w/cpp/utility/tuple/make_tuple(为了方便粘贴代码) #include #include #include st
我正在玩这个小片段: #include struct copy_only { copy_only() = default; copy_only(copy_only&&) = dele
如下所示,为什么这里的“vv”不是右值引用?这里“v”的类型是右值引用,根据decltype的推理规则, decltype右值引用(不是纯右值)的类型应该是右值引用的类型,对吗? int main(i
这该怎么做: #include std::tuple f() { return std::make_tuple(0., {1, 2}); } int main() { f();
要理解问题,请阅读 this answer首先。 我检查了不同的历史 make_tuple 实现(包括 2012 年的 clang 版本)。在 C++17 之前,我希望它们返回 {list of va
我可以写make_tuple(1,true)或写 make_tuple(1,true)编译器会推断出它的类型。这种能力是否适用于我编写的代码,或者它是否以某种方式内置到我无法访问的编译器中? 最佳答案
有没有理由std::make_tuple不接受列表初始化对象的参数? #include #include #include class FileInfo { public: FileIn
考虑这段代码: #include int main() { int i; long k; auto tup1 = std::make_tuple(i); // Compi
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Implementing comparision operators via 'tuple' and 'ti
我有一个类将大小为 5 的数组作为构造函数中的参数之一。 class sha1 { public: typedef unsigned int(&type)[5]; type diges
我想获得 std::make_tuple 为给定参数包返回的类型。到目前为止,我已经编写了以下代码: #include #include template struct unwrap_refwr
我的代码中有这样的东西 val = boost::make_tuple(objA , objB); 我的问题是 boost::make_tuple 会复制 objA 和 objB 吗? 最佳答案 是的
我的意思是为什么 std::make_tuple 存在?我知道在某些情况下,该函数会减少您必须输入的字符数量,因为您可以避免使用模板参数。但这是唯一的原因吗?是什么让 std::tuple 函数存在而
我一直在尝试 std::tuple结合引用文献: #include #include int main() { int a,b; std::tuple test(a,b); std::
Here 指出 C++17 中的演绎指南将使 std::make_tuple 过时。然而,据我所知,std::make_tuple 和 std::tuple::tuple 的标准推导指南之间的区别在于
我假设由 std::make_tuple() 创建的元组对象是在堆栈上动态分配的。我的问题是当它的生命周期达到结束状态时如何释放/删除这个对象。 std::tuple myTuple = std::m
我正在尝试在 constexpr 中使用 make_tuple()。它在全局范围内工作。但它会为 static constexpr 类成员生成链接错误。 #include #include usi
是否有适用于 C#/.NET 的 make_tuple 等效项?我想做这样的事情 mylist.Add(new Tuple("", 1)); 当我创建自己的函数时,C# 似乎支持它 Tuple mak
如果构造函数的执行顺序很重要,我该如何使用 std::make_tuple? 比如我猜A类的构造函数和B类的构造函数的执行顺序是未定义的: std::tuple t(std::make_tuple(A
我一直在搜索这个主题,但没有找到任何令人满意的答案。我正在寻找一种方法来做大多数高级语言已经可以做的事情,采用一个元组和一个映射方法并返回一个映射的(也称为转换的)元组。理想情况下,这将适用于 c++
我是一名优秀的程序员,十分优秀!