【发布时间】:2017-01-31 18:27:06
【问题描述】:
根据标准,以下两个表达式是未定义的行为吗?
int a = 1, b = 1;
int c[] = { 1, 2, 3, 4, 5 };
// Do the following expressions lead to Undefined Behavior ?
c[a++]; // (1)
c[a+b]; // (2)
【问题讨论】:
-
a不是数组...... -
a[a++];是编译器错误 -
你的意思是
int c[] = { 1, 2, 3, 4, 5 };? -
为了理解这个问题,您应该解释为什么您认为它可能是 UB。
-
@MichaelDorgan:没有收到警告并不能保证没有 UB。
标签: c++ c++11 undefined-behavior iso