对于整数或枚举类型,T t {x}与T t = {x}之间的差异?

安德鲁·托马佐斯(Andrew Tomazos)

在C ++ 14中:

对于任何整数或枚举类型T以及任何表达式expr

之间是否有区别:

struct S { T t { expr }; };

struct S { T t = { expr }; };

更新:

[dcl.init.list]p3b5说到:

如果初始化列表具有单个E类型的元素,并且T不是引用类型,或者它的引用类型与E引用相关,则从该元素初始化对象或引用。

我相信这句话既适用于直接列表初始化也适用于复制列表初始化

所以我认为答案是否定的,没有区别。

逻辑资料

如果看一下直接初始化复制初始化引用,您会发现相同的词:

如果T是非类类型,则在必要时使用标准转换将other的值转换为T的cv不合格版本

因此应该没有区别。这些初始化的区别只适用于类类型:拷贝初始化没有考虑explicit构造函数和explicit用户自定义转换操作,直接初始化呢。整数和枚举类型都没有。

编辑:
@ᐅJohannes Schaub-litbᐊ回答了一个与此相关的问题(仅关于括号,而不是括号),并且他引用8.5/14了类似的措辞(强调我的意思):

初始化的形式(使用括号或=)通常是无关紧要的,但是当初始化器或要初始化的实体具有类类型时,它就很重要见下文。如果要初始化的实体不具有类类型,则带括号的初始化器中的expression-list应为单个表达式。

我也找不到{}标准中对应对象。我希望这是足够的论据来支持没有不同的答案。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

来自分类Dev

“ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

来自分类Dev

Query <T>,Get <T>和Load <T>之间的NHibernate差异

来自分类Dev

Query <T>,Get <T>和Load <T>之间的NHibernate差异

来自分类Dev

EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

来自分类Dev

EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

来自分类Dev

ss 和 t 定位之间的结果差异?

来自分类Dev

MYSQL - 其中 x=x 和 z=z 和 t=t

来自分类Dev

在MATLAB中求解x(t)

来自分类Dev

表t中的选择t与HQL中的表之间的差异

来自分类Dev

表t中的选择t与HQL中的表之间的差异

来自分类Dev

C#泛型:“ X <T>其中T:X <T>”泛型类型约束的意义是什么?

来自分类Dev

形式差异T,T&和T &&

来自分类Dev

形式差异T,T&和T &&

来自分类Dev

Why doesn't "x = a or b" work in Perl?

来自分类Dev

FFmpeg:atrim = a:b和aselect ='介于(t,a,b)之间的差异

来自分类Dev

从给定x的y(x)动画到y(t)

来自分类Dev

为什么对于x <-3..4,执行:x * 3在Elixir中返回'\ t \ f'?

来自分类Dev

打字稿泛型:T突然扩展了X想要X扩展T

来自分类Dev

GCC C ++错误?(T)x匹配X :: operator const T&()const与clang的不同

来自分类Dev

如果abs(x)> T作为pytorch中的激活函数,则实现x = T

来自分类Dev

C ++如何使template <T> f()对于整数T返回-1,对于指针类型返回nullptr

来自分类Dev

'结果为T'与'typeof(T).IsInstanceOfType(result)'之间有显着差异吗?

来自分类Dev

vm_offset_t,(void *)和mach_vm_size_t之间的差异

来自分类Dev

map( T => Future[U]) 和 flatMapConcat( T => Source.fromFuture(Future[U])) 之间的 Akka 流差异

来自分类Dev

Scala多态方法-{case x:T => x}返回所有类型

来自分类Dev

有界类型参数(T扩展)和上界通配符(?扩展)之间的差异

来自分类Dev

跳过Stream <T>中的最后x个元素

来自分类Dev

对pte_t和__pte(x)的定义感到困惑

Related 相关文章

  1. 1

    “ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

  2. 2

    “ A <T>(IList <T> x)其中T:I”和“ A(IList <I> x)”之间的区别?

  3. 3

    Query <T>,Get <T>和Load <T>之间的NHibernate差异

  4. 4

    Query <T>,Get <T>和Load <T>之间的NHibernate差异

  5. 5

    EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

  6. 6

    EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

  7. 7

    ss 和 t 定位之间的结果差异?

  8. 8

    MYSQL - 其中 x=x 和 z=z 和 t=t

  9. 9

    在MATLAB中求解x(t)

  10. 10

    表t中的选择t与HQL中的表之间的差异

  11. 11

    表t中的选择t与HQL中的表之间的差异

  12. 12

    C#泛型:“ X <T>其中T:X <T>”泛型类型约束的意义是什么?

  13. 13

    形式差异T,T&和T &&

  14. 14

    形式差异T,T&和T &&

  15. 15

    Why doesn't "x = a or b" work in Perl?

  16. 16

    FFmpeg:atrim = a:b和aselect ='介于(t,a,b)之间的差异

  17. 17

    从给定x的y(x)动画到y(t)

  18. 18

    为什么对于x <-3..4,执行:x * 3在Elixir中返回'\ t \ f'?

  19. 19

    打字稿泛型:T突然扩展了X想要X扩展T

  20. 20

    GCC C ++错误?(T)x匹配X :: operator const T&()const与clang的不同

  21. 21

    如果abs(x)> T作为pytorch中的激活函数,则实现x = T

  22. 22

    C ++如何使template <T> f()对于整数T返回-1,对于指针类型返回nullptr

  23. 23

    '结果为T'与'typeof(T).IsInstanceOfType(result)'之间有显着差异吗?

  24. 24

    vm_offset_t,(void *)和mach_vm_size_t之间的差异

  25. 25

    map( T => Future[U]) 和 flatMapConcat( T => Source.fromFuture(Future[U])) 之间的 Akka 流差异

  26. 26

    Scala多态方法-{case x:T => x}返回所有类型

  27. 27

    有界类型参数(T扩展)和上界通配符(?扩展)之间的差异

  28. 28

    跳过Stream <T>中的最后x个元素

  29. 29

    对pte_t和__pte(x)的定义感到困惑

热门标签

归档