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);  // 传递原有对象,没有拷贝
}
posted @ 2025-04-06 16:49  起名字太难0123  阅读(39)  评论(0)    收藏  举报