使用空基类优化需要std :: tuple吗?

疯狂的科学家

将要

std::is_empty<std::tuple<Args...>>::value

如果每种类型都Args为空返回true 在gcc 4.9中进行的快速测试表明情况确实如此,但标准是否要求这样做?

迈克·西摩

不,没有tuple使用继承来启用空基类优化的要求。

元组库的唯一文本规范是:

本节描述了提供元组类型的元组库,该元组类型可以用作可使用任意数量的参数实例化的类模板元组。每个模板参数指定元组中元素的类型。因此,元组是异构的,固定大小的值集合。具有两个参数的元组的实例化类似于具有相同两个参数的对的实例化。

没有提及任何实施细节;模板规范开始:

template <class... Types>
class tuple {

没有指定它必须继承任何东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用空基类优化需要std :: tuple吗?

来自分类Dev

正确使用std :: tuple吗?

来自分类Dev

所有的std :: tuple构造函数都是必需的吗?

来自分类Dev

我可以从向量数组初始化std :: tuple吗?

来自分类Dev

在std :: tuple参数中键入order有什么作用吗?

来自分类Dev

使用std :: tuple来实现operator <,=等有效且正确吗?

来自分类Dev

我可以在运行时将std :: vector转换为std :: tuple吗?

来自分类Dev

为什么std :: pair <A,B>与std :: tuple <A,B>不同?(真的没有办法吗?)

来自分类Dev

std :: tuple和std :: pair支持聚合初始化吗?

来自分类Dev

C ++将std :: tuple <char,char,char>转换为std :: string吗?

来自分类Dev

std :: tuple和std :: pair支持聚合初始化吗?

来自分类Dev

C ++ 14自动lambda可以接受Obj <std :: tuple <void>>-但是模板函数不能吗?

来自分类Dev

我可以为C ++ 11 std :: tuple预先分配一块内存吗?

来自分类Dev

我只需要在基类中使用虚拟机吗?

来自分类Dev

不需要定义基类析构函数吗?

来自分类Dev

不需要定义基类析构函数吗?

来自分类Dev

maskedEditColumn datagridview如何使用类?是我需要的吗?

来自分类Dev

空体功能会被 clang 优化吗?

来自分类Dev

Swift:需要类前缀吗?

来自分类Dev

_tuple在Python中有用途吗?

来自分类Dev

std :: tuple和boost :: tuple之间的转换

来自分类Dev

当基类不包含数据成员时,仍然需要虚拟继承吗?

来自分类Dev

STD :: Tuple实现C ++

来自分类Dev

我可以为自己的非指针类型使用“空指针优化”吗?

来自分类Dev

使用带有向量优化的C ++ 20的std :: popcount等同于popcnt intristic吗?

来自分类Dev

可以从std :: enable_shared_from_this和抽象基类派生吗?

来自分类Dev

GCC可以使用编译时常量变量优化类的方法吗?

来自分类Dev

在类中使用std :: tuple的静态大小数组了解segfault

来自分类Dev

继承的类可以访问基类吗

Related 相关文章

  1. 1

    使用空基类优化需要std :: tuple吗?

  2. 2

    正确使用std :: tuple吗?

  3. 3

    所有的std :: tuple构造函数都是必需的吗?

  4. 4

    我可以从向量数组初始化std :: tuple吗?

  5. 5

    在std :: tuple参数中键入order有什么作用吗?

  6. 6

    使用std :: tuple来实现operator <,=等有效且正确吗?

  7. 7

    我可以在运行时将std :: vector转换为std :: tuple吗?

  8. 8

    为什么std :: pair <A,B>与std :: tuple <A,B>不同?(真的没有办法吗?)

  9. 9

    std :: tuple和std :: pair支持聚合初始化吗?

  10. 10

    C ++将std :: tuple <char,char,char>转换为std :: string吗?

  11. 11

    std :: tuple和std :: pair支持聚合初始化吗?

  12. 12

    C ++ 14自动lambda可以接受Obj <std :: tuple <void>>-但是模板函数不能吗?

  13. 13

    我可以为C ++ 11 std :: tuple预先分配一块内存吗?

  14. 14

    我只需要在基类中使用虚拟机吗?

  15. 15

    不需要定义基类析构函数吗?

  16. 16

    不需要定义基类析构函数吗?

  17. 17

    maskedEditColumn datagridview如何使用类?是我需要的吗?

  18. 18

    空体功能会被 clang 优化吗?

  19. 19

    Swift:需要类前缀吗?

  20. 20

    _tuple在Python中有用途吗?

  21. 21

    std :: tuple和boost :: tuple之间的转换

  22. 22

    当基类不包含数据成员时,仍然需要虚拟继承吗?

  23. 23

    STD :: Tuple实现C ++

  24. 24

    我可以为自己的非指针类型使用“空指针优化”吗?

  25. 25

    使用带有向量优化的C ++ 20的std :: popcount等同于popcnt intristic吗?

  26. 26

    可以从std :: enable_shared_from_this和抽象基类派生吗?

  27. 27

    GCC可以使用编译时常量变量优化类的方法吗?

  28. 28

    在类中使用std :: tuple的静态大小数组了解segfault

  29. 29

    继承的类可以访问基类吗

热门标签

归档