c++ - 这个后增量语句是否会导致未定义的行为?
问题描述
在使用较新版本的 GCC 构建程序时,我发现代码中存在问题。
count[i] = count[i]++;
此代码适用于旧版本的 GCC (2.95),但不适用于较新版本 (4.8)。
所以我怀疑这个陈述会导致未定义的行为,对吗?或者这个问题有更好的术语吗?
解决方案
事实上,这是未定义的行为。
int i = 2;
i = i++; // is i assigned to be 2 or 3?
推荐阅读
- php - 无法在 php 中包含文件
- python - 在轨迹上运行 DBSCAN
- sql - Rails 控制台:使用修剪后的值更新列值
- nsis - 我可以在 NSIS 中使用 LoadLibrary 加载多个 dll 吗?
- java - 从 Java 中的 Char 数组中读取空格
- java - 迁移到 Spring Boot 2.x 后在哪里可以找到 Sleuth 的 Span.TRACE_ID_NAME 替换?
- ansible - 在ansible中获取变量文件名
- php - PDO 准备好的语句返回不正确的 lastInsertId
- r - R - 扩展和添加行
- python - VScode Python - 将选定的行发送到终端添加额外的行