由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++一问
相关主题
为啥允许这样的const设计程序中的各个变量/数组的内存地址是否会混在一起?
请教一个const pointer的问题数组指针的问题
C++ 里push_back 一问刚看完类这一章,有些大小问题,请指教,谢谢
c++ template specialization 参数问个a=b 的问题
C 语言,初学者,简单问题(2)C++ 科学计算中的常量
[合集] 常数指针的问题问一个关于C++指针的问题
typedef const char *month Table[3]请问如何把初始化一个const 的vector (or array) in a class?
谁给解释一下这个c question问个c++问题
相关话题的讨论汇总
话题: const话题: type话题: 指针话题: 数组话题: c++
进入Programming版参与讨论
1 (共1页)
e****d
发帖数: 333
1
关于函数参数是const type &的问题。
一般写成这样
void f(const type & para){...}
如果type是指针,应该怎么版呢?是
const type* &p
还是
type* const &p
还是用两个 const 好呢?
就是说,一般是根据情况决定呢?还是有一个规则?
我比较倾向用
type* const &p
这样可以兼容数组,比如:
int A[3]={1,2,3}.
f(A);
请问实际中哪种比较好呢?
n****g
发帖数: 150
2
这种境况感觉最好还是用指针代替 ref,起码读起来要清楚些。
比如 void f(const type * const * const p) 肯定都是const的
e****d
发帖数: 333
3
是说一般不用指针的ref是吧?就是复制指针就copy,不用ref是吧?

【在 n****g 的大作中提到】
: 这种境况感觉最好还是用指针代替 ref,起码读起来要清楚些。
: 比如 void f(const type * const * const p) 肯定都是const的

n******t
发帖数: 4406
4

~~~~~~~~~~
这两个东西本来就不是一回事,看你打算干什么了。
要传数组的话只能是type *const &p了。

【在 e****d 的大作中提到】
: 关于函数参数是const type &的问题。
: 一般写成这样
: void f(const type & para){...}
: 如果type是指针,应该怎么版呢?是
: const type* &p
: 还是
: type* const &p
: 还是用两个 const 好呢?
: 就是说,一般是根据情况决定呢?还是有一个规则?
: 我比较倾向用

n****g
发帖数: 150
5
个人习惯吧,统一成指针感觉更好分析些,画画箭头就行。当然如果你函数里的操作不
改变指针指向的内容,用copy我觉得就够了;

【在 e****d 的大作中提到】
: 是说一般不用指针的ref是吧?就是复制指针就copy,不用ref是吧?
e****d
发帖数: 333
6
谢谢大家指点。
i***h
发帖数: 12655
7
type *const &p 怎么解? "关于 指针类型的 常数reference"???
reference 本来不就是const的, 又不能另赋值?

【在 n******t 的大作中提到】
:
: ~~~~~~~~~~
: 这两个东西本来就不是一回事,看你打算干什么了。
: 要传数组的话只能是type *const &p了。

e****d
发帖数: 333
8
reference 不都是常量。
type *const &p 是为了本身是常数的指针。比如数组和临时对象。

【在 i***h 的大作中提到】
: type *const &p 怎么解? "关于 指针类型的 常数reference"???
: reference 本来不就是const的, 又不能另赋值?

i***h
发帖数: 12655
9
懂了
也就是 (type * const) &p
我先前错误理解为 (type *) (const &p)

【在 e****d 的大作中提到】
: reference 不都是常量。
: type *const &p 是为了本身是常数的指针。比如数组和临时对象。

C*******l
发帖数: 105
10
这种情况下用ref的好处在哪儿?
1 (共1页)
进入Programming版参与讨论
相关主题
问个c++问题C 语言,初学者,简单问题(2)
[c++] reference 真得不能bound to a second object 么?[合集] 常数指针的问题
一个hash table的简单问题typedef const char *month Table[3]
C++debug遇到的问题谁给解释一下这个c question
为啥允许这样的const设计程序中的各个变量/数组的内存地址是否会混在一起?
请教一个const pointer的问题数组指针的问题
C++ 里push_back 一问刚看完类这一章,有些大小问题,请指教,谢谢
c++ template specialization 参数问个a=b 的问题
相关话题的讨论汇总
话题: const话题: type话题: 指针话题: 数组话题: c++