首页 > 试题广场 >

下面关于const正确的是?

[不定项选择题]
下面关于const正确的是()
  • 欲阻止一个变量被改变,可以使用const关键字。
  • 在定义该const变量时,不用将其初始化。
  • 在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值
  • 对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
const T & xxx(...)
上面这种情况,函数返回值不可以作为左值。
T & xxx(...)
这种情况,函数返回值可以作为左值
发表于 2018-07-22 09:21:58 回复(0)

在定义该const变量时,不用将其初始化(默认值)。只能在定义的时候初始化,以后不能再赋值。如果定义的时候未初始化,则以后也不能赋值

发表于 2021-03-03 15:28:38 回复(3)
1. const关键字可以用来定义常量,即在程序运行过程中不可更改的变量。例如,const int num = 10;定义了一个整型常量num,其值为10,不能被修改。

2. const关键字还可以用来修饰指针类型,形成const指针。const int *p表示p指向的整型数据不能被修改,但p本身可以被修改。int *const p表示p指向的整型数据可以被修改,但p本身不能被修改。const int *const p表示p指向的整型数据不能被修改,且p本身也不能被修改。

3. const关键字还可以用来修饰函数的参数,表示该参数在函数内部不能被修改。

4. const关键字的作用是提高程序的安全性和可读性,防止意外修改常量或者参数。

5. 在C语言中,const关键字是静态语言特性的一部分,可以减少代码错误和调试时间,但其运行时也有一定的开销,需要合理使用。
发表于 2023-04-02 10:43:40 回复(0)
被const指定了的函数的返回值表示为常量,不能再当作变量被赋值(也就是不能出现在“=”的左边充当左值)
发表于 2020-09-30 22:43:42 回复(1)
①可以在赋值号(=)左侧的表达式是左值;只能位于赋值号(=)右侧的表达式就是右值; ② 有名称的,可以获取到存储地址的表达式是左值,反之是右值;
发表于 2022-04-02 04:14:43 回复(0)
如果希望返回值可以作为左值(即可以放在赋值操作符左边的)那就必须返回引用类型。而在函数返回自定义类型(即返回类类型)中根据是否可作为左值,返回值是否可调用成员函数的不同可分为以下四种情况。T:返回类类型
  1. T f();
  2. const T f();
  3. T& f();
  4. const T& f();
    T f(); 返回一般的类类型,返回的类类型不能作为左值,但返回的类类型可以直接调用成员函数来修改,如function().set_Value(); 返回类类型调用复制构造函数。
    const T f(); 此种类型与上述第一种相同,唯一不同的是返回的类类型不能调用成员函数来修改,因为有const限定符。
    T& f(); 返回类的引用可以作为左值,并且返回的类类型引用可以直接调用成员函数来修改,返回的类类型不会调用复制构造函数。
    const T& f(); 不能作为左值,不能调用成员函数修改,不会调用复制构造函数。
返回引用的函数返回一个左值。因此,这样的函数可用于任何要求使用左值的地方

发表于 2023-08-31 23:51:23 回复(0)
返回的是不是左值和返回值是不是const没关系吧?应该是返回左值引用才会导致返回的是左值吧?
发表于 2024-01-18 10:26:46 回复(0)
const作为变量可以初始化

发表于 2023-04-07 11:00:36 回复(0)
实际上C选项表示只读,也可以通过引用改变其值大小,这种说法并不准确
发表于 2022-12-15 15:53:30 回复(0)