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

C++ 函数引用参数的 const 限定符
在 C++ 中,const 限定符可以用于对引用参数进行修饰,以指示它们指向的对象在函数执行期间不可被修改。
语法
void func(const T& param);
其中:
立即学习“C++免费学习笔记(深入)”;
-
func:函数名 -
T:引用参数的类型 -
&:引用符号
语义
- const 引用参数表示指向一个常量对象的引用,该对象不能在函数内部直接修改。
- 函数可以修改通过 const 引用传递的对象间接引用的成员变量或元素。
实战案例
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
考虑以下示例:
struct Person {
int age;
string name;
};
void printPerson(const Person& person) {
cout << "Age: " << person.age << endl; // 允许访问常量对象的成员变量
person.age = 100; // 错误:尝试修改常量对象
}在这个示例中,printPerson 函数接受一个 const Person 引用作为参数。函数可以访问 person 的age成员变量,但不能修改它,因为 person 是一个常量对象。
另一个示例:
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}在这个示例中,swap 函数接受两个整型引用作为参数。函数可以修改通过引用传递的变量,因为它们不是常量对象。
总结
使用 const 限定符对引用参数进行修饰可以帮助确保函数不会意外地修改传递给它的对象。这对于防止编程错误并提高代码可维护性非常重要。










