Redian新闻
>
请问const myClass &src 和myClass const &src有什么区别?
avatar
请问const myClass &src 和myClass const &src有什么区别?# Programming - 葵花宝典
r*e
1
在函数传递参数时const myClass &src 和myClass const &src有什么区别?
上网查了查,没看到和class obj相关的const的文章。
谢了
avatar
r*r
2
没区别

【在 r*****e 的大作中提到】
: 在函数传递参数时const myClass &src 和myClass const &src有什么区别?
: 上网查了查,没看到和class obj相关的const的文章。
: 谢了

avatar
t*g
3
It's a good practice to put const behind the variable it applies to.
In you case, if myClass is a simple class or basic datatype there is no
difference. However, if myClass is a datetype defined as a pointer, or, a
template which could potentially become a pointer, you will encounter
unexpected errors.

【在 r*****e 的大作中提到】
: 在函数传递参数时const myClass &src 和myClass const &src有什么区别?
: 上网查了查,没看到和class obj相关的const的文章。
: 谢了

avatar
t*t
4
你吹牛
除非myClass是个macro,
否则任何情况下, const myClass和myClass const都是一样的

【在 t*****g 的大作中提到】
: It's a good practice to put const behind the variable it applies to.
: In you case, if myClass is a simple class or basic datatype there is no
: difference. However, if myClass is a datetype defined as a pointer, or, a
: template which could potentially become a pointer, you will encounter
: unexpected errors.

avatar
c*e
5
这个c++ template, complete guide 的前言里面有讲到过,确实有一些不同。
template在这里就像是个macro一样。
作者强力推荐const方后面,我看过后忘记了。感觉对于一般人没什么大用

【在 t****t 的大作中提到】
: 你吹牛
: 除非myClass是个macro,
: 否则任何情况下, const myClass和myClass const都是一样的

avatar
t*g
6
哈哈,这有啥吹牛的?
你不妨自己试一下把myclass定义成template,然后用个pointer来代替。用typedef当
然也可以。

【在 t****t 的大作中提到】
: 你吹牛
: 除非myClass是个macro,
: 否则任何情况下, const myClass和myClass const都是一样的

avatar
t*t
7
能不能说说有啥不同? 我试了试好象是一样的嘛. 如果T是int*,
那const T和T const都是int * const.

【在 t*****g 的大作中提到】
: 哈哈,这有啥吹牛的?
: 你不妨自己试一下把myclass定义成template,然后用个pointer来代替。用typedef当
: 然也可以。

avatar
t*t
8
呵呵,刚好google book可以翻翻前言
你说的那一段看见了, 作者的确证实了
const T === T const, unless T is a macro (textual replacement)
which is what I said.
of course, if you textual replace T with char*, then
const char * != char * const, but that's not what I said

【在 c********e 的大作中提到】
: 这个c++ template, complete guide 的前言里面有讲到过,确实有一些不同。
: template在这里就像是个macro一样。
: 作者强力推荐const方后面,我看过后忘记了。感觉对于一般人没什么大用

avatar
t*g
9
Yea, I was wrong on that. T = char * doesn't make const T = const char *, it
's more like const (char *) where char * has higher priority.

【在 t****t 的大作中提到】
: 呵呵,刚好google book可以翻翻前言
: 你说的那一段看见了, 作者的确证实了
: const T === T const, unless T is a macro (textual replacement)
: which is what I said.
: of course, if you textual replace T with char*, then
: const char * != char * const, but that's not what I said

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。