Lig*_*ica 5 c++ pointers pointer-arithmetic language-lawyer
在标准的指针算术规范中 ( [expr.add]/4.2,我们有:
否则,如果
P指向数组元素我的阵列对象的x与Ñ元素([dcl.array]),则表达式P + J和J + P(其中,J具有值Ĵ)点到(可能-假想)阵列元件I + J的x如果0 ? 我 + j ? n并且表达式P - J指向(可能是假设的)数组元素i ? Ĵ的x,如果0?一世 ?? 名词。
“可能-假设”在这里是什么意思?该段落已经将结果指针限制在数组范围内。好吧,包括最后一个插槽。它指的是这个吗?
是的,它是最后一个“元素”。
[basic.compound]/3:[..]出于指针算术 ([expr.add]) 和比较 ([expr.rel], [expr.eq]) 的目的,x超过n 个元素的数组的最后一个元素末尾的指针被认为是等价于指向假设数组元素n的指针,x并且类型T不是数组元素的对象被认为属于具有一个类型元素的数组T。[..]
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |