面试题答案
一键面试在func
函数中不能修改obj.value
。原因如下:
func
函数的参数是const MyClass& obj
,这意味着obj
是一个指向const MyClass
对象的引用。- 对于
const
对象,其成员变量默认是只读的,以保证对象状态在函数调用期间不被意外修改。 - 如果在
func
函数中尝试修改obj.value
,编译器会报错,因为这违反了const
对象的只读性质。
总结来说,为了保证const
对象的状态不变,在处理const
对象的函数中,不能修改其成员变量(除非成员变量被声明为mutable
,但在给定代码中value
并非mutable
)。