gpt4 book ai didi

c++ - 指针加法与减法

转载 作者:IT老高 更新时间:2023-10-28 22:06:33 24 4
gpt4 key购买 nike

$5.7 -

"[..]另外,两个操作数都应具有算术或枚举类型,或者一个操作数应是指向完全定义的对象类型的指针,而另一个应具有整数或枚举类型。

2 对于减法,应满足以下条件之一:— 两个操作数都有算术或枚举类型;或者— 两个操作数都是指向相同完全定义对象类型的 cv 限定或 cv 非限定版本的指针;或者— 左操作数是指向完全定义的对象类型的指针,右操作数具有整数或枚举类型。

int main(){
int buf[10];
int *p1 = &buf[0];
int *p2 = 0;

p1 + p2; // Error

p1 - p2; // OK
}

那么,我的问题是为什么'指针加法'在 C++ 中不受支持,而'指针减法'却支持?

最佳答案

两个指针之间的差异意味着适合两个指针的目标之间的类型元素的数量。两个指针之和意味着……呃……什么都没有,所以不支持。

关于c++ - 指针加法与减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com