【发布时间】:2023-01-17 16:31:44
【问题描述】:
想象一下下面的定义。
struct X {
double a[8] {0.0};
double b[8] {0.0};
}
int main() {
X x;
x.a[10] = 1.0;
}
当我访问x.a[10]时,程序的行为是否未定义?
【问题讨论】:
-
请注意,术语未定义的行为(UB) 由 C++ 标准使用。如果根据 C++ 标准,存在 UB,则程序的行为可能由机器代码级别的实现很好地定义(这可能是您的情况)。
标签: c++ stack undefined-behavior