首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 一个的参数类型的有关问题

2012-02-20 
C++ 一个的参数类型的问题对于const限定修饰符的问题:(1)charconst&max1(charconst&a,charconst&b){//doso

C++ 一个的参数类型的问题
对于const限定修饰符的问题:
(1)char   const&   max1(char   const&   a,char   const&   b)
{
          //do   something...
          return   b;
}
(2)char   const*   const&   max2(char   const*   const&   a,
                                                    char   const*   const&   b)
{
          //do   something...
          return   a;
}
对于max1的2个参数a和b,是可以理解的:传2个常量引用给max1,即a和b的值在函数max1里不能改变.

但对于是max2的2个参数a和b,我就不是很理解了,难道是指向一个char类型常量的常量指针?难道是指针a、b的值和它们所指向的变量的值在函数里都不能改变?

还请指点.....

[解决办法]
难道是指针a、b的值和它们所指向的变量的值在函数里都不能改变?
===========
首先,
a b 所不是指针,
是指针的引用。

引用只能初始化,不能赋值,
所以a b的值是不能修改的。

然后,char const* const& a
第一个 const 即修饰了 a指向的内容的常量性,
也就是 它们所指向的变量的值在函数里都不能改变。

至于第二个const的作用,
应该是因为“不能将const类型的对象传递给non-const类型的引用”。

热点排行