当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是C++常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void);constdoubleGetDdouble(void); 如果给以“指针传递”方式的函数返回值加 const 修饰,那...
void swap ( int* const p1 , int* const p2 )指针p1和指针p2指向的地址都不能修改。3、以上两种的结合。四、修饰函数的返回值 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。例如函数 const char* GetString...
第一行中左边的const 约束了返回的是常字符串的指针索引,因为它的存在12行必须声明为 const char *p,如果第一行左边const 不存在,那么12行可以加可以不加const,这样约束常字符串的效果只能在main 中反映,不能很好的表达调用函数的功能。
- 在函数声明或定义中,可以使用const关键字来修饰函数的返回值,表示函数返回的值不能被修改。- 通过使用const修饰函数返回值,可以向调用者明确表明返回的值是一个常量,不能进行修改操作。- 声明带有const修饰的函数返回值的语法为:const 数据类型 函数名(参数列表)。const修饰符也可以修饰函数的返回值,返回值...
定义一个char*类型的指针变量ret用于存储目标字符串的初始地址,然后在源字符串与目标字符串复制完成后返回该目标字符串初始地址ret作为printf函数链式访问的参数。 图1.6 如果用const修饰 指针类型的函数返回值时,则返回的变量不能被直接修改,且返回值只能被赋值给加const修饰的同类型指针,如代码的71行和86行必须用...
const int GetInt(void); const float GetFloat(void); const double GetDdouble(void); 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加 const 修饰的同类型指针; const char * GetString(void); ...
如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。 const char * GetString(void); 如下语句将出现编译错误: char *str = GetString(); 正确的用法是 const char *str = GetString(); ...
constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void);constdoubleGetDdouble(void); 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加 const 修饰的同类型指针; ...
stub}FunctionConst::~FunctionConst(){// TODO Auto-generated destructor stub}constintFunctionConst::getValue(){returnvalue;//返回值是 const, 使用指针时很有用.}intFunctionConst::getValue2()const{//此函数不能修改class FunctionConst的成员函数 valuevalue=15;//错误的, 因为函数后面加 constreturnvalue...
这里我们定义一个变量a,再定义一个指针变量p来存放a的地址,然后把p传给test函数,在test函数内部通过指针的方式对a的值进行修改,没有问题,但是当我们在test函数的参数前面加上 const 时,我们发现不能以同样的方式a直接进行修改。 2、const 修饰返回值:表示该函数返回值不能直接被修改。