const 通常用在函数形参中,如果形参是一个指针,为了防止在函数内部修改指针指向的数据,就可以用 const 来限制。 我们自己在定义函数时也可以使用 const 对形参加以限制,例如查找字符串中某个字符出现的次数: 运行结果: 3 4、const 和非const类型转换 const char *和char *是不同的类型,不能将const char *类型...
const定义的常量在超出其作用域之后其空间会被释放,const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类的声明中初始化const数据成员,因为类的对象没被创建时,编译器不知道const数据成员的值是什么。 const数据成员的...
const char* const pContent; (4)还有其中区别方法,沿着*号划一条线:如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。 3.函数中使用CONST (1)const修饰函数参数 a.传递过来的参数在函数内不可以改变(无意义,因为Var...
在函数内部。const char *每次调用函数时,都须要在stack上分配内存,然后将数据拷贝过来,函数退出前释放。 而static const char *,会直接訪问read only的数据,无需再stack上分配内存。 char * const cp : 定义一个指向字符的指针常数,即const指针 const char* p : 定义一个指向字符常数的指针 char const* p :...
const位于*的右侧: 用来修饰指针本身,指针是常量。 // 指针本身是常量,定义时需要初始化intb=500;//int * const a; // errorint*constc=&b;// error*c=600;// 正常,允许改值cout<<*c<<endl; const用在成员函数中, 位于function_name () const {} ...
extend const int ValueName = value; 2.指针使用CONST (1)指针本身是常量不可变 char * const pContent; const (char*) pContent; (2)指针所指向的内容是常量不可变 const char *pContent; char const *pContent; (3)两者都不可变 const char* const pContent; ...
char * const p,就是将P声明为常指针,它的地址不能改变,是固定的,但是它的内容可以改变。 三、是不可以同时用const和static修饰成员函数。 C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。 但当一个成员为static的时候,该函数是没有this...
char *name; } SPerson;结构体变量的定义方式 1.先定义类型再定义变量 2.定义类型的同时定义变量 3.定义类型的同时定义变量, 并且省略类型名称9.const关键字 * const对基本数据类型的作用, 可以让基本数据类型的变量变为常量 * const有两种写法, 1.写在数据类型的左边, 2.写在数据类型的右边 * 如果const写...
int main() { const int x=1; int b=10; int c=20; const int* a1=&b; int* const a2=&b; const int* const a3=&b; x=2; //x是整形变量,不能改变其值,假若x未初始化,那么x是一个随机数 a1=&c; //const在int*的左侧,用来修饰指针所指向的变量,即指针指向为常量。 //上述是修改的指针...
const int nValue;//nValue是const const char *pContent; //*pContent是const, pContent可变 const (char *) pContent;//pContent是const,*pContent可变 char* const pContent; //pContent是const,*pContent可变 const char* const pContent; //pContent和*pContent都是const 2)、const在后面,与上面的声明...