指针和引用的自增(++)运算意义不一样?
答案:3 悬赏:70
解决时间 2021-01-25 19:22
- 提问者网友:疯孩纸
- 2021-01-25 15:25
指针和引用的自增(++)运算意义不一样?
最佳答案
- 二级知识专家网友:爱难随人意
- 2021-01-25 16:24
int a=0;
int b=&a;
int *p=&a;
b++;相当于a++;b只是a的一个别名,和a一样使用。
p++;后p指向a后面的内存
(*p)++;相当于a++
int b=&a;
int *p=&a;
b++;相当于a++;b只是a的一个别名,和a一样使用。
p++;后p指向a后面的内存
(*p)++;相当于a++
全部回答
- 1楼网友:底特律间谍
- 2021-01-25 19:04
指针是对内存地址的自增
引用是对值的自增
#include
int main()
{
int actualint[2] = {123,256};
int *point = actualint;
int &otherint = actualint[0];
std::cout << actualint[0] << std::endl;
std::cout << actualint[1] << std::endl;
std::cout << *point << std::endl;
std::cout << otherint << std::endl;
otherint ++;
std::cout << actualint[0] << std::endl;
std::cout << actualint[1] << std::endl;
std::cout << *point << std::endl;
std::cout << otherint << std::endl;
//输出 124,256,124,124
point ++;
std::cout << actualint[0] << std::endl;
std::cout << actualint[1] << std::endl;
std::cout << *point << std::endl;
std::cout << otherint << std::endl;
//输出124,256,256,124
return 0;
}
- 2楼网友:从此江山别
- 2021-01-25 17:46
指针自加,比如 int a[2] = {0,10} ;int *pa =a;
pa++表示指针往后移动一个int的长度。指向下一个内存地址。及pa从指向a[0]变成指向a[1]
引用是值++;比如b是引用a[0]的,++表示a[0]的值++从0变为1;
pa++表示指针往后移动一个int的长度。指向下一个内存地址。及pa从指向a[0]变成指向a[1]
引用是值++;比如b是引用a[0]的,++表示a[0]的值++从0变为1;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯