首页 > 文章列表 > C++ 函数引用参数的 const 限定符

C++ 函数引用参数的 const 限定符

c++ const
349 2024-04-23

在 C++ 中,const 限定符用于引用参数表示指向一个常量对象的引用,该对象不能在函数内部直接修改。函数可以修改通过 const 引用传递的对象间接引用的成员变量或元素。这对确保函数不会意外修改传递给它的对象至关重要。

C++ 函数引用参数的 const 限定符

C++ 函数引用参数的 const 限定符

在 C++ 中,const 限定符可以用于对引用参数进行修饰,以指示它们指向的对象在函数执行期间不可被修改。

语法

void func(const T& param);

其中:

  • func:函数名
  • T:引用参数的类型
  • &:引用符号

语义

  • const 引用参数表示指向一个常量对象的引用,该对象不能在函数内部直接修改。
  • 函数可以修改通过 const 引用传递的对象间接引用的成员变量或元素。

实战案例

考虑以下示例:

struct Person {
  int age;
  string name;
};

void printPerson(const Person& person) {
  cout << "Age: " << person.age << endl;  // 允许访问常量对象的成员变量
  person.age = 100;  // 错误:尝试修改常量对象
}

在这个示例中,printPerson 函数接受一个 const Person 引用作为参数。函数可以访问 personage成员变量,但不能修改它,因为 person 是一个常量对象。

另一个示例:

void swap(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}

在这个示例中,swap 函数接受两个整型引用作为参数。函数可以修改通过引用传递的变量,因为它们不是常量对象。

总结

使用 const 限定符对引用参数进行修饰可以帮助确保函数不会意外地修改传递给它的对象。这对于防止编程错误并提高代码可维护性非常重要。