const 关键字可以声明不可修改的参数。这样做可以确保函数内部不会修改参数的值。例如: Plain Text 复制代码 9 1 2 3 codevoid print(const string& str) { cout << str << endl;} 成员函数 在类的成员函数中,其实会默认传入一个 this指针 如果函数不会修改成员变量的值,可以在函数声明和定义中使用...
成员函数后的const 当成员函数后面加上const时,表示该成员函数不能修改类的成员变量。 复制 classMyClass{public:intgetValue()const;private:int value;};int MyClass::getValue()const{// value = 20; // 错误:不能修改成员变量returnvalue;} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 在上面的例...
(一)函数头末尾 函数后加const,一般只出现在类的成员函数定义中,这意味着这些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数。 classA{private:inti;public:intget()const{// get函数返回i的值,不需要对i进行修改,则可以用const修饰。防止在函数体内对i进行修改。同时提高代码的可读性returni;}voi...
加了const的成员函数可以被非const对象和const对象调用但不加const的成员函数只能被非const对象调用 char getData()const{ return this->letter; } c++ 函数前面和后面 使用const 的作用: 前面使用const 表示返回值为const 后面加 const表示函数不可以修改class的成员 请看这两个函数 const int getValue(); int ge...
c++ 在函数后加const的意义: 我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修...
const 成员函数的返回类型是引用时候,需要加const 约束 intfun()const;int& fun()const; 成员函数中上面是合法的,下面缺不合法,具体例子如下,对于第5行 函数返回类型中的const 不能省略,不管第10行是否有const,这应该是内部value 对象类型的转换,GetValue 函数中的value 被转换成了 const int(第10行没有const...
(1)可以定义const常量。 (2)Const可以修饰函数的参数和返回值,甚至定义体。被const修饰的东西都受到强制保护。 (3)Const修饰成员函数时,用于成员函数前面,则返回值不能作为左值。用在后面,则该成员函数的数据成员不能改变。 (4)Const修饰数据成员时,必须使用冒号语法。
先看看下面这段代码:constStockland=Stock("hyd");land.show();land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。除非你能保证show像const函数一样,但这需要另外一种语法,即:void show() const; //声明 void Stock::show() const{} //定义 ...
类的成员函数有隐含的this指针,所以上面的函数其实是有两个形参的,第一个就是this指针,函数后面的const 就是限定this指针为const,从而不允许函数修改调用该成员函数的类对象。2.在函数前面有const的一般是在要求成员函数返回值为类对象的情形。const classType& function(type2 v)const;因为函数后面有...