c++中 const的作用是什么

2025-02-24 00:54:14
推荐回答(4个)
回答1:

限定修改 ,比如const int i=2;
那么在后面i的值是不能修改的,另外const限定定义变量以后必须赋初值
又比如const的引用
const int i=2;
const &a=i;
a为i的一个引用,也是不能修改的,这一点在函数参数传递的时候用的比较多
另外还有个神奇的事情
const &a=i+2;
const &a=5*5+1;都是允许的,但是换成普通的引用是不允许的
又比如在定义数组的时候
const i=2;
int a[i];
是可以的,这个时候可以看作常量
但是
int i;
cin>>i;
const int a=i;
int b[a];是不允许的,因为数组是不能动态定义的(不过可以申请动态数组)

回答2:

CONST:一个C语言的关键字

回答3:

const关键字至少有下列n个作用:
  (1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
  (2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
  (3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
  (4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
  (5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。例如:
const classA operator*(const classA& a1,const classA& a2);
  operator*的返回结果必须是一个const对象。如果不是,这样的变态代码也不会编译出错:

classA a, b, c;
(a * b) = c; // 对a*b的结果赋值
  操作(a * b) = c显然不符合编程者的初衷,也没有任何意义。

回答4:

常量定义