++cP=&ch; 在vs编译器里面没有报错

来源:6-8 指针的基本操作二

爱战石

2021-04-13

char* cP;
按老师讲课的内容来讲应该是使用*++cP=&ch;
但是vs里面使用++cP作为左值没有报错。是C++新规则的原因还是什么呢?

写回答

2回答

quickzhao

2021-04-13

返回引用的表达式++cP是可以获取到地址,可以作为左值;返回非引用类型的表达式cP++无法获取到真实地址,不能做左值。

1
1
爱战石
非常感谢!
2021-04-14
共1条回复

波波爱学习哦

2021-08-16

++cp是可以作为左值的吧,++cp是cp所指向的地址加1了,此时指针cp的地址仍然是可取的。只不过cp做左值时,右值必须为一个地址。

0
0

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程