面试题答案
一键面试#include <iostream>
class MyClass {
private:
int memberVariable;
public:
MyClass(int value) : memberVariable(value) {}
// 使用常引用设计成员函数
void printValue(const int& ref) const {
std::cout << "Value: " << ref << " and memberVariable: " << memberVariable << std::endl;
}
};
如果不使用常引用,在函数中不小心修改了传入的变量值,会导致数据的意外更改,破坏数据的完整性。特别是当该变量在其他地方有重要用途时,这种意外修改可能会引发难以调试的逻辑错误。在上述代码场景下,如果成员函数 printValue
接收的不是常引用,就有可能修改传入的 ref
值,不符合题目中保证成员变量不被修改的要求。