在 C++ 中的数组初始化期间使用数组成员 [重复]

Posted

技术标签:

【中文标题】在 C++ 中的数组初始化期间使用数组成员 [重复]【英文标题】:Using array members during array initialization in C++ [duplicate] 【发布时间】:2017-04-21 11:38:59 【问题描述】:

在 C++ 中执行以下操作是否合法:

const T array[3]
  **some expression**,
  **another expression**,
  T 1  - array[0] - array[1]
;

换句话说:第三个元素是否总是被初始化为1 - **some expression** - **another expression**

【问题讨论】:

【参考方案1】:

initializer list 使用从左到右求值,在数组初始化之前求值。

第 3 个元素是否总是被初始化为 1 - some expression - another expression

没有,你甚至有 T 1 - array[0] - array[1] 的 UB。

【讨论】:

以上是关于在 C++ 中的数组初始化期间使用数组成员 [重复]的主要内容,如果未能解决你的问题,请参考以下文章