首页 > 试题广场 >

下面关于const正确的是?

[不定项选择题]
下面关于const正确的是?
  • 欲阻止一个变量被改变,可以使用const关键字。
  • 在定义该const变量时,不用将其初始化。
  • 在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值
  • 对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
这里对函数返回值使用 const 的目的在于限制不能将函数调用表达式作为左值使用。例如有如下函数: int & min ( int &i, int &j); 可以对函数调用进行赋值,因为它返回的是左值: min ( a , b )=4; 但是,如果对函数的返回值限定为 const 的,即丁奕:const int & min ( int & i, int &j ); 那么,就不能对 min ( a, b ) 调用进行赋值了。
发表于 2020-12-22 01:39:48 回复(1)
这个D选项只对了一半,指定返回值为const的类型,可以避免他被修改,但是它还是丁丁真真的左值。比如const node& f(),可以做到只返回引用不返回值提高效率,同时不能再改变返回值,但他还是有地址的左值
发表于 2022-02-17 19:52:33 回复(0)

A 选项的描述是正确的。const关键字可以限制一个变量被改变,即使在程序的其它部分进行修改,这种限制对于保证代码的正确性非常有用。

B 选项的描述是错误的。在定义const变量时,必须将其初始化,否则编译器会报错。

C 选项的描述也是正确的。const可以用于修饰函数的形参,表示该形参是输入参数,函数内部不能修改它的值。这样做可以提高代码的可读性和安全性。

D 选项的描述同样是正确的。有时候我们需要将成员函数的返回值指定为const类型,这可以使得返回值不为左值,从而防止调用者对返回值进行修改,保护类的内部状态。

发表于 2023-10-19 21:00:31 回复(0)
C++必须初始化const修饰的变量,除非是extern修饰的变量
C中如果不初始化const常量会警告,CPP中会报错
发表于 2021-10-05 16:37:48 回复(0)
这个d不对吧
发表于 2023-07-20 08:43:46 回复(0)