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