C++ 常量引用
const string &name 表示的是一个常量引用(constant reference),它本质上是一个别名(alias),指向传入的字符串对象,但有以下特点
1.是地址(引用)但不是指针:
它底层确实是通过地址实现的(类似于指针)
但语法上它表现得像原始对象(不需要解引用)
2.const的含义:
不能通过这个引用修改原始对象
保证了函数内部不会意外修改调用者的数据
3.传递效率:
避免了值传递时的拷贝开销(特别是对于大对象如string)
比指针更安全(不能为nullptr,必须绑定到有效对象)
4.使用场景:
void printName(const string &name) { // 高效且安全
cout << name; // 直接使用,像值一样
// name = "new"; // 错误!const禁止修改
}
int main() {
string s = "Alice";
printName(s); // 传递原有对象,没有拷贝
}

浙公网安备 33010602011771号