在 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++ 中的数组初始化期间使用数组成员 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将一个多维数组初始化为一个类 c++中的成员

将一个多维数组初始化为一个类 c++中的成员

用向量 c++ 中的指针成员初始化对象

在 C++ 中初始化动态二维数组

C++ 如何将一个静态结构体数组初始化?

C++静态结构体数据成员的初始化