面试题答案
一键面试优点
- 数据保护:防止函数内部意外修改传入的变量值,保证数据的完整性和安全性。例如在一些读取配置信息的函数中,配置信息不应被修改,使用指向常变量的指针可以确保这一点。
- 灵活性:既可以接受常量对象的地址,也可以接受非常量对象的地址作为参数,增加了函数的通用性。
代码示例
#include <iostream>
// 函数接受指向常变量的指针
void printValue(const int* num) {
// 以下尝试修改num指向的值会报错,如:*num = 10;
std::cout << "Value: " << *num << std::endl;
}
int main() {
int value = 42;
printValue(&value);
const int constantValue = 100;
printValue(&constantValue);
return 0;
}
在上述代码中,printValue
函数接受一个指向常量整数的指针。函数内部不能修改指针所指向的值,确保了数据的安全性,同时可以处理常量和非常量对象的地址。