这里我们定义一个变量a,再定义一个指针变量p来存放a的地址,然后把p传给test函数,在test函数内部通过指针的方式对a的值进行修改,没有问题,但是当我们在test函数的参数前面加上 const 时,我们发现不能以同样的方式a直接进行修改。 2、const 修饰返回值:表示该函数返回值不能直接被修改。 在这里插入图片描述 在这里...
1、int * ( const p ):变量p 经过 const 修饰,为只读变量。 2、int (* (const p)):(const p 现在作为一个整体) 只读变量p是一个指针。 3、(int (* (const p))):(同样的 * const p 作为一个整体) 这个只读的指针p,指向一个int型变量。 于是,可以区分出 int * const p 是一个指向 int 型...
当const 在函数名前面的时候修饰的是函数返回值;在函数名后面表示是C++常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。 constchar*GetString(void);constintGetInt(void);constfloatGetFloat(void);constdoubleGetDdouble(void); 如果给以“指针传递”方式的函数返回值加 const 修饰,那...
如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。例如函数 const char* GetString(void);如下语句将出现编译错误:char*str = GetString();正确的用法是 const char*str = GetString();五、修饰全局变量 全局变量...
const int *ptr1;int *const ptr2;ptr1 是一个指向常量整数的指针,即指针指向的整数值不能被修改,但指针本身可以被修改。而 ptr2 是一个指向整数的常量指针,即指针本身不能被修改,但指针指向的整数值可以被修改。4. 函数返回值为 const const char *getMessage() { return "Hello, world!";} 在...
在C语言中,const是一个关键字,用于声明常量。const关键字可以应用于变量、函数参数和函数返回值,用于指定它们的值不能被修改。1. const修饰变量:- 通过在变量声明前加上const关键字,可以将该变量声明为常量,其值在初始化后不能被修改。- 常量的值必须在声明时进行初始化,并且不能再被修改。任何试图修改常量...
const是C语言的一种关键字,起受保护,防止以外的变动的作用!可以修饰变量,参数,返回值,甚至函数体。const可以提高程序的健壮性,你只管用到你想用的任何地方。 (一)const修饰参数。const只能修饰输入参数。 1、如果输入参数是指针型的,用const修饰可以防止指针被意外修改。
如果const修饰的返回值类型为普通变量,由于返回是普通临时变量,const修饰没有意义。 在C++中 1.const修饰类内的数据成员:表示这个数据成员在某个对象的生命周期中是常量。不同对象的该数据成员的值可以不一样,因此const成员函数不能在类内初始化。 2.const修饰类内的成员函数:这意味着这个函数不能修改对象的成员...
const int foo();const struct mytype foo(); 上述写法限定函数的返回值不可被更新,当函数返回内部的类型时,已经是一个数值,当然不可被赋值更新,所以,此时const无意义,最好去掉,以免困惑。当函数返回自定义的类型时,这个类型仍然包含可以被赋值的变量成员,所以,此时有意义。
如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。 const char * GetString(void); 如下语句将出现编译错误: char *str = GetString(); 正确的用法是 const char *str = GetString(); ...