问题标签 [stdtuple]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在c ++ 11中将值输出到流元组
我正在尝试编写一个流运算符<<
,它可以输出到一个std::tuple
流而不是一个流。所以基本上,我正在尝试tee
用 C++ 编写 Unix 命令,并执行以下操作:
我尝试使用 c++11 中的可变参数模板编程递归地编写流运算符。到目前为止,我所拥有的代码如下所示。但是代码无法编译,并且错误消息很长。
我的问题是,如何修复代码以使其正常工作?
g++ -std=c++11
使用(gcc-4.8.1)编译的第一条错误消息是:
PS我搜索了SO,并且有一些关于编写复合流对象的帖子。代码涉及到很多stream和streambuf的内部结构。我在这里寻求的是一个简单/天真的解决方案,用十几行来完成类似的任务。
谢谢
我的代码:
更新: 以下是基于@KerrekSB 的示例代码对我有用的:
@贾罗德42,
非常感谢。您的代码比我的原型更紧凑地执行递归/循环,并修复了我的代码中引用类型的使用。原始测试用例与您的演示一样工作。std::endl
但是,如果我在流中使用(而不是“Foo”)或std::ofstream
(而不是) ,我仍然无法编译您的版本std::cout
,如下面的“not OK”行所示。知道如何解决这些问题吗?
c++ - 使用具有类的元组作为 C++ 类型
我已经为 Rettangolo 类定义了一个方法,如下所示
我的问题是使用 main.js 中的返回值。我需要去做
但基本上我不知道如何保存,所以使用返回的值,因为我的元组类型不是标准的
谢谢你的帮助
c++ - 指向返回可变参数类型引用的函数的指针元组
不要让问题标题吓跑你!我相信这只是一个语法问题。
我有这门课
并且很想知道扩展模板参数包的正确语法,以便我可以获得T &get()
函数指针的元组。
arrays - 使用类中 std::tuple 的静态大小数组了解段错误
我有一个类,我想为图像中的每个像素存储三个数据点。我认为 std::tuple 将是这样做的好方法:
段错误直接发生在 main(int argc, char ** argv) 因为我在这个函数中声明了一个相机管理器对象。
这里发生了什么?
c++ - 创建数据元组并将解包作为函数参数发送
嗨,我想知道是否有人可以帮助我。我正在尝试实现 CallFunction (带有注释的位)。我不知道该怎么做。
[问题] 我想创建一个从 ...Arguments 创建的类型元组,但我想去掉限定符、const、& 等,这样我就可以用我的数据填充它并以某种方式传递给函数.
我现在不关心返回类型。有人指出我正确的方向或做过类似的事情吗?或者这完全是疯狂的,而不是可以做的事情。唔!无论如何 TY 来检查一下 :)
它与
performance - 为什么 std::pair 比 std::tuple 快
这是用于测试的代码。
元组测试:
配对测试:
我通过 Linux time 命令进行了时间测量。结果是:
我想知道,为什么 O0 中这两个数据结构之间存在如此大的差异,因为它们应该非常相似。02的差别很小。
为什么O0的差异如此之大,为什么有任何差异?
编辑:
带有 v.resize() 的代码
一对:
元组:
结果:
编辑:
我的系统
c++ - 为什么 `std::forward_as_tuple(1)` 不是常量表达式?
在上面的代码中,static_assert 通过了,但是第 1 行到第 3 行无法使用 gcc 4.9(由 ubuntu 提供)和 clang 编译。他们抱怨变量不是由 初始化的constexprs
,x
不是 a constexpr
(即使它是由文字初始化的),而是创建对临时的引用或者它们的实现forward_as_tuple()
不是(尽管 C++14 标准确实保证了这一点)。
我正在编写一些大量使用std::tuple
and的代码constexpr
。我可以绕过std::forward_as_tuple()
不被定义为constexpr
,但我不明白为什么forward_as_tuple(0)
会返回 a tuple<int&&>
,根据 clang 创建一个对临时的引用,使其不是 constexpr。替代品不能满足我的需要——std::make_tuple()
不能用于完美转发,std::tie
也不能存储文字值。编辑:为什么std::forward_as_tuple()
以这种方式工作而不提供替代方案?
我在这里做一些根本错误的事情还是有什么我不明白的?
c++ - 从c ++中的函数重新调整多个向量?
我想从一个函数返回多个向量。我不确定任何一个元组是否可以工作。我试过但没有工作。
c++ - 使用自动 C++ 检索存储元组的值
如果我在一个类中存储一个元组:
您是否可以稍后通过执行此操作来检索这些值?
我知道这不起作用,但有一个我忽略的简单修复方法。据我所见,decltype 可以使用通过函数传递的成员(在我的情况下为 returnTuple),但由于我的元组已经存储,这并没有真正的帮助。是否有另一种方法可以使自动返回类型成为元组的类型?
c++ - 以自然(非反向)顺序将 func 应用于 std::tuple 中的元素
我需要为任意元组中的每个元素调用模板或重载函数。准确地说,我需要在元组中指定元素时调用此函数。
例如。我有一个元组std::tuple<int, float> t{1, 2.0f};
和一个函数
我需要一些 struct/function Apply
,如果像这样调用它Apply<Lambda, int, float>()(Lambda(), t)
会产生:
而不是2.0f; 1;
。
请注意,如果将“原始”参数包传递给函数,我知道解决方案,并且我知道如何以相反的顺序对元组执行此操作。但是以下部分特化的尝试Apply
失败了:
代码已编译,但仅打印第一个参数。但是,如果我将ForwardsApplicator
专业化替换为
它可以正常工作 - 但是,当然,只适用于长度为 2 的元组。对于任意长度的元组,我该如何做——如果可能的话,优雅地?
编辑:谢谢你们的回答!这三者都非常直截了当,并从所有可能的有利位置解释了这个问题。