classA{private:inti;public:intget()const{// get函数返回i的值,不需要对i进行修改,则可以用const修饰。防止在函数体内对i进行修改。同时提高代码的可读性returni;}voidset(intn){// set函数需要设置i的值,所以不能声明为consti=n;}}; (二)函数返回值 1.const修饰一般类型的返回值,修饰与不修饰返回值作...
enum{N=100};inta[N]; 局部(块作用域) 声明周期结束后,可被“修改”(其实不是同一个,看起来像是被修改了) inti;for(i=1;i<=10;i++){constintnum=rand();printf("%d",num);//num的值会变,因为不同层数的num不是同一个,每层循环结束,会有一个num声明周期结束} 可绕过约束,修改const类型数据 c...
const int n=5; 正确 void fun(const int n); 正确 const char a; 错误 char * const p; 错误 const char *p;正确(注意这种为什么是正确的),因为这里const是修饰p指向的变量,而不是指针变量p本身 一旦一个变量被const修饰后,在程序中除初始化外对这个变量进行的赋值都是错误的。 如: const int n=5...
1) const在前面 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 ...
const int* n;int const* n; 需要注意的是一下两点: 1、常量指针说的是不能通过这个指针改变变量的值,但是还是可以通过其他的引用来改变变量的值的。 int a=5;const int* n=&a;a=6; 2、常量指针指向的值不能改变,但是这并不是意味着指针本身不能改变,常量指针可以指向其他的地址。 int a=5;int b=...
intconsta=5;//等同 其实这种可以很好理解,const只能修饰int(类型名或类名),所以二者是等同的。 修饰局部变量 1 2 constintn=5; intconstn=5; 这两种写法是一样的,都是表示变量n的值不能被改变了,需要注意的是,用const修饰变量时,一定要给变量初始化(用来修饰函数的形参除外),否则之后就不能再进行赋值了...
const 是用来定义常量的。如:const int NUMBER=10;或者你可以用宏来定义 define NUMBER 10;和其他无关。
const int n; n=0; 对于上面的情况是比较容易理解的,但是当const与指针一起使用时,就容易让人感到迷惑。例如,下面我们来看看一个p和q的声明: const int *p; int const *q; 看了上面的代码可能有人会觉得 const int *p;表示的是const int类型的指针(const直接修饰int),而 int const *q;表示的是int类型...
1)const在前面const int nValue; //nValue是constconst char *pContent; //*pContent是const, pContent可变const char* const pContent; //pContent和*pContent都是const2)const在后面,与上面的声明对等int const nValue; //nValue是constchar const * pContent; //*pContent是const, pContent可变char* ...