MST

星途 面试题库

面试题:C++中指向常变量指针在函数参数传递里的作用

请解释在C++中,将指向常变量的指针作为函数参数传递有什么优点?并举出一个简单的代码示例,说明如何在函数中使用这种指针来处理数据而不改变数据本身。
16.9万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

优点

  1. 数据保护:防止函数内部意外修改传入的变量值,保证数据的完整性和安全性。例如在一些读取配置信息的函数中,配置信息不应被修改,使用指向常变量的指针可以确保这一点。
  2. 灵活性:既可以接受常量对象的地址,也可以接受非常量对象的地址作为参数,增加了函数的通用性。

代码示例

#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函数接受一个指向常量整数的指针。函数内部不能修改指针所指向的值,确保了数据的安全性,同时可以处理常量和非常量对象的地址。