o******2 发帖数: 159 | 1 看了书,也google了一些网页,但是还是对const的使用模棱两可。有没有大牛能简单
几句启发一下。
具体来说,以下三种表示有和不同呢?
1) const func(x);
2) func(const x);
3) func(x) const;
好像1)容易理解点,即func(x) return的值是constant,不可变。但2)和3)似乎没有
多大区别。 | z****e 发帖数: 2024 | 2 1)试试func(x)=某数
2)试试去掉const,然后 func(0);
3)查 const member function
最厚建议你继续google
【在 o******2 的大作中提到】 : 看了书,也google了一些网页,但是还是对const的使用模棱两可。有没有大牛能简单 : 几句启发一下。 : 具体来说,以下三种表示有和不同呢? : 1) const func(x); : 2) func(const x); : 3) func(x) const; : 好像1)容易理解点,即func(x) return的值是constant,不可变。但2)和3)似乎没有 : 多大区别。
| c**b 发帖数: 2999 | 3 2.调用func這個函数的时候,对x赋值,x值不能变.如果x涉及内存地址,比如指针array,
string什么的,就很有用.一般用来输入一个值,而不是输出一个值.
3.不知道,没用过.
【在 o******2 的大作中提到】 : 看了书,也google了一些网页,但是还是对const的使用模棱两可。有没有大牛能简单 : 几句启发一下。 : 具体来说,以下三种表示有和不同呢? : 1) const func(x); : 2) func(const x); : 3) func(x) const; : 好像1)容易理解点,即func(x) return的值是constant,不可变。但2)和3)似乎没有 : 多大区别。
| j*******d 发帖数: 8834 | 4 2) x will not be touched inside func()
3) func() does not modify any member variables or states |
|