学习笔记之指针和引用的区别

来源:互联网 发布:阿里云买卖域名 编辑:程序博客网 时间:2024/05/29 14:06

听很多学长学姐说面试的时候容易问到的一个问题是:指针与引用的区别?

以前认为没什么区别,今天仔细上网搜了下,总结如下:

1.指针是一个地址,传指针可以实现对指针所指向变量的修改,当然此处考虑的是非const的情况。

2.引用是所引用变量的一个别名,引用与变量名绑在一起,所以引用必须初始化,且在其整个生命周期内不能改变其所引用的变量,指针却不这样。

3.传递指针本质上是值传递,指针内容是所指向变量的地址值。

4.以指针作为函数的形参时,函数内部会先复制该指针,复制后的指针和原指针指向同一个地址,在函数内部使用复制后的指针,需要分配内存空间(临时的指针变量)。

5. 传指针会生成一个临时的变量,但是传引用不会,因而也不会进行返回值copy等,所以效率更高。

6.引用比指针更安全,引用是类型安全的。

7.函数返回尽量避免返回引用,指针或者迭代器指向对象内部,这样可以增加封装性。

0 0
原创粉丝点击