(1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。 (2)只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以通过解引用修改。 (3)两个const,*左右各一个,表示指针和指针所指数据都不能修改。
在这个例子中,print_array函数接受一个指向const int的指针作为参数,这意味着这个函数不会修改传入的数组。5.在结构体和联合中使用const:const也可以用于结构体和联合的成员,以保护这些成员不被修改。总的来说,const关键字在C语言中提供了一种机制来声明只读变量和指针,从而提高了代码的可读性、可维护性和安全...
3、const 成员变量/成员函数 const成员变量只能被const成员函数访问 const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代...
b.const int * fun2() //调用时 const int *pValue = fun2(); //我们可以把fun2()看作成一个变量,即指针内容不可变。 c.int* const fun3() //调用时int * const pValue = fun2(); //我们可以把fun2()看作成一个变量,即指针本身不可变。 const在C语言中算是一个比较新的描述符,我们称之...
error: uninitialized 'const ' [-fpermissive] 详细解释可以直接跳转:const 修饰变量; 2.const 修饰指针 //以下两者等价,表示 *p 不可变。*p 表示的是指针变量 p 所指向的内存单元里面的内容,此时这个内容不可变; const int *p int const *p //此时 const 修饰的是 p,所以 p 中存放的内存单元的地址不可变...
const成员函数,能够访问所有成员变量,但是在函数体内不能直接修改变量的值(包括普通成员变量),如果需要在函数体内修改普通成员变量的值,需要在变量定义的前面添加mutable关键字,或者通过地址间接修改。注意:const成员函数只能被该类的const对象访问。测试代码如下: ...
const的完整拼写为constant,意思是常量;C语言中的const关键字一般用于声明常量,即不可修改的变量。它可以用于修饰变量、指针以及类的成员函数。1.修饰变量:当const修饰变量时,表示该变量的值是不可修改的,即为常量。例如:const int a = 5;2.修饰指针:const可以修饰指针,分为指向常量的指针和常量指针。指向...
1、局部const变量存放在堆栈区中,会分配内存(也就是说可以通过地址间接修改变量的值)。测试代码如下: 运行结果: 2、全局const变量存放在只读数据段(不能通过地址修改,会发生写入错误), 默认为外部联编,可以给其他源文件使用(需要用extern关键字修饰) 运行结果: ...
一.const 简介 const是 constant 的缩写,“恒定不变”的意思。被 const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 1.const 修饰变量 /***///@Author:猿说编程//@Blog(个人博客地址): www.codersrc.com//@File:C语...
const 关键字可以声明不可修改的参数。这样做可以确保函数内部不会修改参数的值。例如: Plain Text 复制代码 9 1 2 3 codevoid print(const string& str) { cout << str << endl;} 成员函数 在类的成员函数中,其实会默认传入一个 this指针 如果函数不会修改成员变量的值,可以在函数声明和定义中使用...