首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算索引时数组超出范围

计算索引时数组超出范围
EN

Stack Overflow用户
提问于 2016-03-04 14:16:52
回答 1查看 82关注 0票数 0

当我的一个朋友在网上解决一个问题时,我遇到了一个问题。

他写的案例1(例子)得到了一个详细的答案,并得到了接受的案例2。

代码语言:javascript
运行
复制
int a[4];
a[ 2+6-5 ];  //undefined behavior? case 1
a[ 2+(6-5) ];//ok  case 2

根据C++性病第5.7.5节

代码语言:javascript
运行
复制
if a[ 2+6-5 ] == *( a + 2+6-5 ); //ub
if a[ 2+6-5 ] == *( a +(2+6-5)); //not ub

我该怎么解释第一个案子?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-04 14:21:53

E1[E2]等同于*((E1)+(E2)),因此在第一种情况下,将首先计算(2+6-5)。因此,不会有问题。

引用N3337 5.2.1 Subscripting

表达式E1E2 (定义上)与*((E1)+(E2))相同

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35798287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档