【C++小语法技巧】引用和内联函数(完结篇)
🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C++和数据结构怀有无限热忱的探索者。🙌
🌸🌸🌸这里是我分享C/C++编程、数据结构应用的乐园✨
🎈🎈🎈期待与你一同在编程的海洋中遨游,探索未知的技术奥秘💞
📝专栏指路:
📘【C++】专栏:深入解析C++的奥秘,分享编程技巧与实践。
📘【数据结构】专栏:探索数据结构的魅力,助你提升编程能力。
前言
在使用C语言编程过程中,C语言的要求之严格,编程过程之繁琐,大同小异的重复性工作,令C++之父使用C语言编程时也深受其扰,于是乎C++兼容C小语法诞生了
前一篇:【C++语法小技巧】缺省参数和函数重载http://t.csdnimg.cn/IT0i5
文章均已收录至【C++专栏】,可放心食用
一、引用
1.引用概念
在C++中,引用(Reference)是一种特殊的别名,它是为已存在的变量起一个别名。(底层是按指针实现的)
一般形式:类型& 引用变量名(对象名) = 引用实体
*2.引用特性(引用和指针区别)
特性:
(1)引用必须初始化,即引用必须引用一个已存在的对象。(指针不是必须初始化)
(2)一个变量可以有多个引用
(3)引用一旦引用了一个实体,不可以再引用别的(指针可以指向不同的实体)
(4)引用没有自己的内存空间,它只是对象的一个别名,对引用的操作等同于对对象本身的操作。(指针有自己的内存空间,是对指向对象的间接操作)
此外引用与指针的区别还有:
1)没有NULL引用,但有NULL指针
2) 在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节)
3)引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小
4)有多级指针,但是没有多级引用
5)访问实体方式不同,指针需要显式解引用,引用编译器自己处理
6)引用比指针使用起来相对更安全
3.常引用
const 修饰 (权限的平移或缩小)
一般形式:const 类型& 引用变量名(对象名) = 引用实体
4.使用场景
(1)做参数
(2)做返回值
代码示例:
#include using namespace std; void my_swap(int a, int b) { int tmp = 0; tmp = a; a = b; b = tmp; } //引用做参数 void my_swap1(int &a, int &b) { int tmp = 0; tmp = a; a = b; b = tmp; } //引用做返回值 int &Add(int a, int b) { //此时c为静态变量,延长了生命周期,出了Add函数后c未被销毁 static int c = a + b; return c; } int main() { int x = 10; int y = 20; //z是x的别名,z必须初始化 int& z = x; //相当于x++ z++; cout