加了const的成员函数可以被非const对象和const对象调用但不加const的成员函数只能被非const对象调用 char getData()const{ return this->letter; } c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 请看这两个函数 const int getValue(); int ge...
- 在函数声明或定义中,可以使用const关键字来修饰函数的返回值,表示函数返回的值不能被修改。- 通过使用const修饰函数返回值,可以向调用者明确表明返回的值是一个常量,不能进行修改操作。- 声明带有const修饰的函数返回值的语法为:const 数据类型 函数名(参数列表)。const修饰符也可以修饰函数的返回值,返回值...
const char *str = GetString(); 如果函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加 const 修饰没有任何价值。 int GetInt(void); const int GetInt(void); 以上两个函数都是都是独立存在的,并非同一个函数; 4.const 修饰在函数名后面 当const 在函数名前面的时候修饰的...
后面加const表示函数不可以修改class的成员 请看这两个函数: constintgetValue();intgetValue2()const;/* * FunctionConst.h */#ifndefFUNCTIONCONST_H_#defineFUNCTIONCONST_H_classFunctionConst{public:intvalue;FunctionConst();virtual~FunctionConst();constintgetValue();intgetValue2()const;};#endif/* F...
void f(const int i) { /* code */ } 3、可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。同宏定义一样,可以做到不变则已,一变都变! 4、可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。还是上面的例子,如果在函数体内修改了i,编译器就会报错; 例: void f(const int i...
const可以应用于变量、函数、指针等多种类型。在定义变量时,const常量的值必须在定义时被初始化,即不能在后面再修改。在函数中使用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...
先看看下面这段代码:constStockland=Stock("hyd");land.show();land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。除非你能保证show像const函数一样,但这需要另外一种语法,即:void show() const; //声明 void Stock::show() const{} //定义 ...
const int* const p 详细解释可以直接跳转:const 修饰指针; 二.const 修饰在函数名前面 当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是C++常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void...
(1)const一般出现在函数的参数列表当中,用法是const int *P,意义是指针变量P本身是可变的,而P指向的变量是不可变的。 (2)char *pstr = “Linux”;//存放在代码段的 char pstr[] = “linux” ;//数组是存放在数据段的 (3)const用来修饰指针做函数的参数,作用就是在于函数内部不会改变这个指针所指向的内容...