问题标签 [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.

0 投票
5 回答
6185 浏览

c++ - 删除 std::tuple 的第一种类型

这似乎是一个非常简单的问题:如何删除 a 中的第一个(第 n 个)类型std::tuple

例子:

上述操作将转换tuple1tuple2. 是否可以?

0 投票
6 回答
3507 浏览

c++ - 元组的构造函数参数

假设我有一个模板,该模板由类类型和许多参数类型参数化。与这些类型匹配的一组参数存储在一个元组中。如何将这些传递给类类型的构造函数?

在几乎 C++11 代码中:

如何...在不固定长度的情况下填充构造函数调用?

我想我可以想出一些复杂的递归模板调用机制来做到这一点,但我不敢相信我是第一个想要这个的人,所以我想会有现成的解决方案来解决这个问题,甚至可能在标准库中。

0 投票
2 回答
820 浏览

c++ - 公共基类打破了元组的空基类优化

gcc 4.7.1 对元组进行空基类优化,我认为这是一个非常有用的特性。但是,这似乎有一个意想不到的限制:

在这种情况下,最后一个断言失败,因为元组实际上大于 4 个字节。有没有办法在不破坏类层次结构的情况下避免这种情况?或者我是否必须实现我自己的配对实现,以其他方式针对这种情况进行优化?

0 投票
2 回答
373 浏览

c++ - 转换 std::tuple到 T

所以我得到了一个std::tuple<T...>,我想创建一个接受的函数指针T...,目前这就是我所拥有的;

但是,如果不手动输入0, ..., tuple_size<V>::value. FunctionPtr 在上下文中定义,其中V=std::tuple<T...>(也已经有一个可变参数模板(因此我不能直接传递T...))

我想我需要生成一些索引列表,并做一些黑魔法..

0 投票
2 回答
18146 浏览

c++ - 如何获取对 std::tuple 元素的引用?

您可以获得using的n第 th 个元素的值。但是我需要将该元组的一个元素作为对函数的引用传递。std::tuplestd::get<n>(tuple)

如何获取对 a 元素的引用std::tuple

0 投票
2 回答
3847 浏览

c++ - 在类上启用 std::get 支持

我必须专门使用哪些模板来支持 std::get?

我必须专攻什么才能做到:

0 投票
3 回答
511 浏览

c++ - 如何遍历 TR1 元组

被困在 TR1 领域,对于测试程序,我需要对许多特定类型的对象执行某些操作。我有几个元组类型定义,如下所示:

从每个元组类型中创建一个对象。然后我有类似这样的功能模板:

这些需要为元组对象中的所有对象调用。

我如何在 C++03 中做到这一点?

0 投票
2 回答
10574 浏览

c++ - 通过函数中的编译时变量访问 C++11 中的元组元素

以下最小示例编译为g++ -std=c++11 -Wall tuple.cpp -o tuple

现在,我不想使用指定索引的模板(确切原因:我有自动推导出的模板,我不想全部指定它们)。所以我的第一次尝试是:

我知道这无法编译。有没有办法保证编译器i在编译时就知道?也许是这样的?

0 投票
2 回答
12740 浏览

c++ - 从 C++11 中的函数返回元组的最佳方法是什么?

我想从一个函数返回一些值,我想把它打包成一个元组。所以我有两种可能的函数声明:

这些功能是等价的吗?在这些功能之间,您更喜欢哪个?

0 投票
2 回答
717 浏览

c++ - std::ignore 的要求

C++11 引入了一个名为 的对象std::ignore

为简洁起见,让

据我所知,由于[C++11, 20.4.2.4:7]的规范,唯一的要求T是它。CopyAssignablestd::tie

在 g++-4.8 中,我发现这T是另外的DefaultConstructible(例如,T x;编译)。这是实现定义的行为吗?

(如果T我遗漏了其他要求,请详细说明。)