C++面试:指针和引⽤的区别
2023-09-14 09:07:06 时间
指针和引用都是一种内存地址的概念,区别呢,指针是一个实体,引用只是一个别名。在程序编译的时候,将指针和引用添加到符号表中。
- 指针它指向一块内存,指针的内容是所指向的内存的地址,在编译的时候,则是将“指针变量名-指针变量的地址′添加到符号表中,所以说,指针包含的内容是可以改变的,允许拷贝和赋值,有const和非const区别,甚至可以为空,sizeof
指针得到的是指针类型的大小。 - 而对于引用来说,它只是一块内存的别名,在添加到符号表的时候,是将"引用变量名-引用对象的地址"添加到符号表中,符号表一经完成不能改变,所以引用必须而且只能在定义时被绑定到一块内存上,后续不能更改,也不能为空,也没有const和非const区别。
- sizeof 引用得到代表对象的大小。而sizeof
指针得到的是指针本身的大小。另外在参数传递中,指针需要被解引用后才可以对对象进行操作,而直接对引用进行的修改会直接作用到引用对象上。 - 作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;传引用的实质是传地址,传递的是变量的地址。
相关文章
- C++学习——c++逗号操作符说明(附加全部运算符优先级)
- C#面试题及答案_c++面试题库
- ROS2机器人-C++和Python怎么选
- C++构造函数的作用_c++什么是构造函数
- C++回炉之_C++PrimerPlus_第十三章 类继承
- c++11面试宝典(final,delete,deault,explicit,lambda表达式)
- C&C++内存管理
- c++项目实战: 通讯录系统
- C++面试必备:常见C++面试题汇总及详细解析
- C++十六进制宏的用法详解
- MicrosoftVisualC++程序的部署方法
- Mac下使用Eclipse编译C/C++文件出现launchfailed,binarynotfound解决方案