防止指针误用:若希望指针本身不变,可以加const(如int *const ptr),避免在函数内部修改指针指向的地址。 ★假设我们有一个函数,传入的是一个指针int *ptr,以下是加上const的几种不同情况: 1.const int *ptr或int const *ptr 含义:指针ptr所指向的内容是常量,不能通过ptr来修改这个内容,但指针ptr本身可以指向...
加了const的成员函数可以被非const对象和const对象调用但不加const的成员函数只能被非const对象调用 char getData()const{ return this->letter; } c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 请看这两个函数 const int getValue(); int ge...
后面加const表示函数不可以修改class的成员 请看这两个函数: constintgetValue();intgetValue2()const;/* * FunctionConst.h */#ifndefFUNCTIONCONST_H_#defineFUNCTIONCONST_H_classFunctionConst{public:intvalue;FunctionConst();virtual~FunctionConst();constintgetValue();intgetValue2()const;};#endif/* F...
(c)const指针可以接受const和非const地址,但是非const指针只能接受非const地址。所以const指针的能力更强一些,所以尽量多用const指针,这是一种习惯。3.》》(a)const与函数。由于2(c),所以经常把函数的形参类型设为const,而且多为const 引用。但是这里有一个限制,不能把不是左值的地址传递给引用...
一个函数的参数类型是const char*,代表这个函数保证不会试图修改这个指针所指向内存的字符串内容。反之,...
const 成员函数的返回类型是引用时候,需要加const 约束 intfun()const;int& fun()const; 成员函数中上面是合法的,下面缺不合法,具体例子如下,对于第5行 函数返回类型中的const 不能省略,不管第10行是否有const,这应该是内部value 对象类型的转换,GetValue 函数中的value 被转换成了 const int(第10行没有const...
在C语言中,const是一个关键字,用于声明常量。const关键字可以应用于变量、函数参数和函数返回值,用于指定它们的值不能被修改。1. const修饰变量:- 通过在变量声明前加上const关键字,可以将该变量声明为常量,其值在初始化后不能被修改。- 常量的值必须在声明时进行初始化,并且不能再被修改。任何试图修改常量...
void StringCopy(char*strDestination,const char*strSource);其中 strSource 是输入参数,strDestination 是输出参数。给 strSource 加上 const 修饰后,如果函数体内的语句试图改动 strSource 的内容,编译器将指出错误。2、防止修改指针指向的地址 void swap ( int* const p1 , int* const p2 )指针p1和指针p2...
function(const int *V),说可以修改 *V 的真牛,反正我的编译器是不行的。read-only location 不过向追问那样但强制转换后是可以的,毕竟指针强制转换后系统也不知道你到底想干什么。如果你定义const float *M;但又要修改它,理论上就不该修改它,否则就不要用const啦。