加了const的成员函数可以被非const对象和const对象调用但不加const的成员函数只能被非const对象调用 char getData()const{ return this->letter; } c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 请看这两个函数 const int getValue(); int ge...
void f(const int i) { /* code */ } 3、可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。同宏定义一样,可以做到不变则已,一变都变! 4、可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。还是上面的例子,如果在函数体内修改了i,编译器就会报错; 例: void f(const int i...
- 在函数声明或定义中,可以使用const关键字来修饰函数的返回值,表示函数返回的值不能被修改。- 通过使用const修饰函数返回值,可以向调用者明确表明返回的值是一个常量,不能进行修改操作。- 声明带有const修饰的函数返回值的语法为:const 数据类型 函数名(参数列表)。const修饰符也可以修饰函数的返回值,返回值...
后面加const表示函数不可以修改class的成员 请看这两个函数: constintgetValue();intgetValue2()const;/* * FunctionConst.h */#ifndefFUNCTIONCONST_H_#defineFUNCTIONCONST_H_classFunctionConst{public:intvalue;FunctionConst();virtual~FunctionConst();constintgetValue();intgetValue2()const;};#endif/* F...
const int* const p;三、修饰函数的参数 根据常量指针与指针常量,const修饰函数的参数也是分为三种情况 1、防止修改指针指向的内容 void StringCopy(char*strDestination,const char*strSource);其中 strSource 是输入参数,strDestination 是输出参数。给 strSource 加上 const 修饰后,如果函数体内的语句试图改动 ...
void swap ( int* const p1 , int* const p2 ) 指针p1和指针p2指向的地址都不能修改。 3、以上两种的结合。 四、修饰函数的返回值 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。
const可以应用于变量、函数、指针等多种类型。在定义变量时,const常量的值必须在定义时被初始化,即不能在后面再修改。在函数中使用const关键字,可以指定函数的参数和返回值为只读,防止随意修改。注意,在指针变量中使用const关键字时,必须要注意指针所指的内容是否可改变。不能修改指针指向的内容,但是...
先看看下面这段代码:constStockland=Stock("hyd");land.show();land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。除非你能保证show像const函数一样,但这需要另外一种语法,即:void show() const; //声明 void Stock::show() const{} //定义 ...
function(const int *V),说可以修改 *V 的真牛,反正我的编译器是不行的。read-only location 不过向追问那样但强制转换后是可以的,毕竟指针强制转换后系统也不知道你到底想干什么。如果你定义const float *M;但又要修改它,理论上就不该修改它,否则就不要用const啦。
1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 1.define 定义常量 2.define 定义函数 3.define 定义多行函数 4.define 防止头文件重复包含 三.const 和 define 区别 ...