By reference | By pointer

在看c++ primer plus 6th, 发现给函数传参的时候,By reference和Pointer都是一样可以改变实参的,于是查了下他们的不同之处。

1.指针是一个实体,而引用仅是个别名;

2.引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)

3.不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)

4.一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)

5.“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身的大小;

参考: C++ 值传递、指针传递、引用传递详解

本文标题:By reference | By pointer

文章作者:不秩稚童

发布时间:2017年08月28日 - 21:32:35

最后更新:2017年08月28日 - 21:39:15

原始链接:http://datahonor.com/2017/08/28/By-reference-By-pointer/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

击蒙御寇