use*_*688 9 c++ parameters syntax pointers const
有什么区别
void func(const Class *myClass)
Run Code Online (Sandbox Code Playgroud)
和
void func(Class *const myClass)
Run Code Online (Sandbox Code Playgroud)
也可以看看:
可能还有其他人......
mmm*_*mmm 21
区别在于
void func(const Class *myClass)
Run Code Online (Sandbox Code Playgroud)
你指向一个你不能改变的类,因为它是const.但你可以修改myClass指针(让它指向另一个类;这对调用者没有任何副作用,因为它的指针被复制,它只会改变你的本地指针副本)
void func(Class *const myClass)
Run Code Online (Sandbox Code Playgroud)
现在,myClass指向一个可以在您无法更改参数时进行修改的类.
一个经验法则是从右到左阅读声明:
void func(const Class *myClass) 是指向const类的指针(或严格来说是"指向const的类的指针")
void func(Class *const myClass) 是一个指向类的const指针
| 归档时间: |
|
| 查看次数: |
2638 次 |
| 最近记录: |