3、const 成员变量/成员函数 const成员变量只能被const成员函数访问 const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代...
const 关键字可以声明不可修改的参数。这样做可以确保函数内部不会修改参数的值。例如: Plain Text 复制代码 9 1 2 3 codevoid print(const string& str) { cout << str << endl;} 成员函数 在类的成员函数中,其实会默认传入一个 this指针 如果函数不会修改成员变量的值,可以在函数声明和定义中使用...
(1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。 (2)只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以通过解引用修改。 (3)两个const,*左右各一个,表示指针和指针所指数据都不能修改。
3、const 成员变量/成员函数 const成员变量只能被const成员函数访问 const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代...
const int fun1() //这个其实无意义,因为参数返回本身就是赋值。 6.修饰类相关 (1)用const修饰的类成员变量,只能在类的构造函数初始化列表中赋值,不能在类构造函数体内赋值。 1classA2{3public:4A(intx) : a(x)//正确5{6//a = x;//错误7}8private:9constinta;10}; ...
如果const修饰的返回值类型为普通变量,由于返回是普通临时变量,const修饰没有意义。 在C++中 1.const修饰类内的数据成员:表示这个数据成员在某个对象的生命周期中是常量。不同对象的该数据成员的值可以不一样,因此const成员函数不能在类内初始化。 2.const修饰类内的成员函数:这意味着这个函数不能修改对象的成员...
const的完整拼写为constant,意思是常量;C语言中的const关键字一般用于声明常量,即不可修改的变量。它可以用于修饰变量、指针以及类的成员函数。1.修饰变量:当const修饰变量时,表示该变量的值是不可修改的,即为常量。例如:const int a = 5;2.修饰指针:const可以修饰指针,分为指向常量的指针和常量指针。指向...
const 类对象与 const 变量并无实质不同,只在于类对象的 “改变” 定义。 类对象的 “改变” 定义:改变任何成员变量的值,调用任何非const成员函数 不能改变 const 类对象的任何成员变量,这一点比较好理解,因为 const 本身就带有不可改变变量取值(内部状态)的含义。为何const 类成员不能调用非const成员函数呢?我...
在C++中,由const修饰的成员函数的函数体内部,是不能够对成员变量进行修改的。这个特性被用来保证某些成员函数在实现过程中,避免由于程序员大意而对数据进行了错误的修改;同时也说明此成员函数是非修改性的。如只需要返回成员变量的成员函数就被声明为const类型(const的位置在函数定义参数列表之后) ...
C 语言中的关键字 const,缩写自 constant,用于声明定义常量,所谓常量是指值保持固定不变的特殊变量,由于常量不允许在声明定义之外进行该值操作,所以常量往往是声明定义的同时便进行赋值。在 C 语言中,声明定义一个常量的书写格式为,const [type] name = value,其中的 type 表示合法的数据类型,name 则表示...