4 回答
TA贡献1876条经验 获得超7个赞
我说一下几种情况吧:
1. const int k = 5; 表示k是个值为5的常量,而且在程序的运行过程中是不能更改的
2.void fun(const int k) 这个函数的定义表示为这个函数在运行时,k值不能修改
3.如果上面fun函数是一个类里面的成员函数,那么 void fun() const 就表示这个函数在运行过程中不能修改类中的数据项(属性).
4.其他的情况就见得不多了吧,搞清楚这几个情况就行了,到了具体问题在就具体分析了
TA贡献1789条经验 获得超10个赞
const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令
1)修饰一般常量,常数组,常对象
修饰符const可以用在类型说明符前,也可以用在类型说明符后。 例如:
int const x=2; 或 const int x=2;
int const a[5]={1, 2, 3, 4, 5}; 或 const int a[5]={1, 2, 3, 4, 5};
class A; const A a; 或 A const a;
(2)修饰指针
const int *A; 或 int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A; //const修饰指针A, A不可变,A指向的对象可变
const int *const A; //指针A和A指向的对象都不可变
(3)修饰引用
const double & v; 该引用所引用的对象不能被更新
(4)修饰函数的返回值:
const修饰符也可以修饰函数的返回值,是返回值不可被改变,格式如下:
const int Fun1();
const MyClass Fun2();
(5)修饰类的成员函数:
const修饰符也可以修饰类的成员函数,格式如下:
class ClassName
{
public:
int Fun() const;
};
这样,在调用函数Fun时就不能修改类里面的数据
(6)在另一连接文件中引用const常量
extern const int i; //正确的引用
extern const int j=10; //错误!常量不可以被再次赋值
- 4 回答
- 0 关注
- 491 浏览
添加回答
举报