boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请问const myClass &src 和myClass const &src有什么区别?
相关主题
一个partial specialization的问题
C++ Template Question
a question about const reference
为啥允许这样的const设计
如何使用这个template?
pointer to function
typedef const char *month Table[3]
C++ STL map find does not work ???
出个题考考大家:)
C++里get array size的问题 (转载)
相关话题的讨论汇总
话题: const话题: myclass话题: src话题: char话题: 区别
进入Programming版参与讨论
1 (共1页)
r*****e
发帖数: 792
1
在函数传递参数时const myClass &src 和myClass const &src有什么区别?
上网查了查,没看到和class obj相关的const的文章。
谢了
r****r
发帖数: 115
2
没区别

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

t*****g
发帖数: 1275
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的文章。
: 谢了

t****t
发帖数: 6806
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.

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

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

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

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

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

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

t****t
发帖数: 6806
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方后面,我看过后忘记了。感觉对于一般人没什么大用

t*****g
发帖数: 1275
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

1 (共1页)
进入Programming版参与讨论
相关主题
C++里get array size的问题 (转载)
C++ 菜鸟问一个关于template 的问题。
Questions about c code
why int** cannot convert to const int** ?
a simple C++ question
问一道brainbench上的问题
谁给解释一下这个c question
数组指针的问题
c++面试问题
const char *p, is it ok to change p[1] ?
相关话题的讨论汇总
话题: const话题: myclass话题: src话题: char话题: 区别