感觉讲错了 ++cp是可以作为左值

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

weixin_慕勒8023578

2022-02-21

++cp可以换算成cp = cp + 1;

那么可以理解成cp中存储的地址值加一的操作

如果++cp = &x;

只不过对cp重新进行了赋值;

所以++cp是可以作为左值

27 char ch = ‘a’;
28 char cp = &ch;
29
30 cout << "&ch = " << &ch << endl;
31
32 cout << "
(cp +1) = " << *(cp+1) << endl;
33
34 // ++cp = &ch;
35 cp = cp + 1;
36
37 cout << "*cp = " << *cp << endl;

打印结果是

*(cp +1) = 8
*cp = 8

所以++cp是可以作为左值的

写回答

1回答

quickzhao

2022-02-21

是的,++cp可以作为左值。那个PPT有点问题,你看下这个: https://coding.imooc.com/learn/questiondetail/gDANwYNlLQL6K120.html

0
3
慕丝4078674
那我理解*cp+1=&a也是没问题的?
2023-05-03
共3条回复

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

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

3884 学习 · 1103 问题

查看课程