int value=10;constint*constconst_ptr_to_const=&value;// *const_ptr_to_const = 20; // 错误:不能修改const_ptr_to_const所指向的值// const_ptr_to_const = &value2; // 错误:不能修改const_ptr_to_const本身 1. 2. 3. 4. 二、const修饰函数参数 1. const修饰普通参数 当const修饰函数的...
const 在*左边 ( 常量指针 | const 修饰的是数据类型 ) :const 修饰的是 指针变量 指向的内存空间 , 如const char *c, const 修饰的是char,char数据不能被修改 , 这是 常量指针 , 指向常量的指针 ; const 修饰的是右边的内容 , 右边是 变量, 相当于 const 在 * 右边 , 指针常量 , 指针不能修改 ;...
const 如果修饰在函数参数或局部栈变量的话, 那肯定存放在栈上无疑了.const 如果修饰的是全局或static...
当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是C++常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void);constdoubleGetDdouble(void); 如果给以“指针传递”方式的函数返回值加 const 修饰,那...
const用于函数 const还能用于函数,且可以放在三个位置:函数前(即返回值类型前)、函数参数前、函数后。 [position1]int func([position2]int a)[position3] 1.const用于参数前: const用于参数前,表示函数不能改变参数值。一般情况下,如果参数是按值传递的,那么函数本来就无法改变参数值。但如果按指针传递或按引用...
图1-11 value0的存放位置 其中value0的数据被放在常量区(.rodata段)十六进制显示的0a对应了它的十进制初始值10。 图1-12 value1的存放位置 Value1的数据被放在静态区(.data段)十六进制显示的14对应了它的十进制初始值20。 b) 但是并不是所有被const修饰过的变量都放在常量区,事实上只有全局变量才是如此,普...
——const作用就灵活了,一个表达式中const放置的位置不同,效果可能就不一样了。下面分具体情况分 析(当然,所举的情况并非覆盖全部情况) A。const最经常的用法 1.为了防止传递的函数参数不被修改,在调用函数的形参中用const关键字. //Example -> int FindNum(const int array[], int num, int conut);//声...
是不是说就跟宏的文本替换相似,在程序中出现符号常量的位置使用其对应的值进行替换?3.应该跟2说的是一个问题。比如声明一个常量:const int Months = 12; 编译时Months的值就确定为12了,因此不为Months分配存储空间(一般情况)。问题是如果出现在函数内部呢?比如下面这个样子:void fun(){ const int Months = ...
先看看下面这段代码:constStockland=Stock("hyd");land.show();land 是常量,但是类成员函数show无法保证不修改land,所以编译器将拒绝执行该段代码。除非你能保证show像const函数一样,但这需要另外一种语法,即:void show() const; //声明 void Stock::show() const{} //定义 ...