一、C++ 引用世界初相识
在 C++ 的编程世界里,引用是一个既基础又重要的概念,它就像是给变量取了一个别名。比如你有一个变量int num = 10; ,然后你可以定义一个引用 int& ref_num = num;,这里的ref_num就是num的引用,对ref_num的操作就等同于对num的操作。就好比你有一个朋友叫小明,你也可以亲切地称呼他为 “明明” ,不管你叫他哪个名字,都是在指代同一个人。
引用在 C++ 中有着广泛的应用,比如作为函数参数时,可以避免对象的拷贝,提高效率;作为函数返回值时,也能减少不必要的复制操作。但是在 C++11 之前,只有左值引用,它只能绑定到左值上。那什么是左值和右值呢?这就需要我们进一步深入探索 C++ 的引用世界了,接下来让我们先从左值和右值的概念开始了解。
二、左值引用:可靠的伙伴
(一)左值的画像
在 C++ 中,左值(lvalue)是指那些在表达式结束后仍然存在的持久对象,它们有自己的内存地址,可以通过取地址符&获取其地址 。简单来说,左值就像是一个有固定住址的居民,你随时都能找到它。常见的左值包括变量、函数名、数组元素、结构体成