首页 > 试题广场 >

Const 有什么用途?(请至少说明两种)

[问答题]

Const 有什么用途?(请至少说明两种)

1 )欲阻止一个变量被改变,可以使用 const 关键字。在定义该 const 变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;

2 )对指针来说,可以指定指针本身为 const ,也可以指定指针所指的数据为 const ,或二者同时指定为 const

3 )在一个函数声明中, const 可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;

4 )对于类的成员函数,若指定其为 const 类型,则表明其是一个常函数,不能修改类的成员变量;

5 )对于类的成员函数,有时候必须指定其返回值为 const 类型,以使得其返回值不为“左值”。
发表于 2017-03-05 09:57:26 回复(0)

1、const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。

2、可以定义const常量,具有不可变性,如     const int kSendLengthUnit   = 0x34。

3、便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如: void f(const int i) { .........} 编译器就会知道i是一个常量,不允许修改;可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。

4、为函数重载提供一个参考。

发表于 2017-08-06 21:50:40 回复(1)
1. 修饰数据类型:
    顶层指针:const int num = 0;  int * const p = #
    底层指针:const int *p = #  void Func(const int &num);
2. 传参与返回值:
    传参:void Func(const int &num);  void Func(const int *p);
    返回值:参考网址( https://www.cnblogs.com/xiaogua918/p/4181592.html )
3. 类继承关系中的const:
    const 成员函数:
        class C {
        public: 
            int get() const { return num; }    // const成员函数,不能调用非const成员函数,能访问、但不能改变数据成员的状态。
        };
    const 类对象:const class C { C(){} };    // 参考网站( https://blog.csdn.net/sinat_36215255/article/details/60138892 )
编辑于 2020-09-23 15:16:11 回复(0)
答案:1)定义const常量
2)const可以修饰函数的参数、返回值、定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,提高程序的健壮性。
发表于 2017-01-23 16:47:27 回复(0)