引用与指针的区别
2016-09-06 17:41
225 查看
引用与指针有很大的差别,指针是个变量,可以把它再赋值成指向别处的地址,
然而,建立引用时必须进行初始化并且决不会再关联其他不同的变量。
由于指针也是变量,所以可以有指针变量的引用
有空指针无空引用
引用不能用类型来初始化
引用的一些规则如下:
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
使用引用作为参数和返回值给函数的意义
函数只能返回一个值。如果程序需要从函数返回两个值怎么办
解决这一问题的办法之一是用引用给函数传递两个参数,然后由函数往目标中填入正确的值
函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本,所以提高了效率
传递指针和引用更大的目的是效率
传递的地址特征使得所传的参数处于随时被修改的危险之中
保护实参不被修改的办法是传递const 指针和引用
引用总是const的
如果对引用应用关键词const,其作用就是使目标成为const变量
引用可以提高程序的可读性
在大对象时,引用可以提高效率
引用可以变相增加函数的返回值
数组不可以引用
避免返回局部变量的引用
可以返回结构的引用
然而,建立引用时必须进行初始化并且决不会再关联其他不同的变量。
由于指针也是变量,所以可以有指针变量的引用
有空指针无空引用
引用不能用类型来初始化
引用的一些规则如下:
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有 NULL 引用,引用必须与合法的存储单元关联(指针则可以是 NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
使用引用作为参数和返回值给函数的意义
函数只能返回一个值。如果程序需要从函数返回两个值怎么办
解决这一问题的办法之一是用引用给函数传递两个参数,然后由函数往目标中填入正确的值
函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本,所以提高了效率
传递指针和引用更大的目的是效率
传递的地址特征使得所传的参数处于随时被修改的危险之中
保护实参不被修改的办法是传递const 指针和引用
引用总是const的
如果对引用应用关键词const,其作用就是使目标成为const变量
引用可以提高程序的可读性
在大对象时,引用可以提高效率
引用可以变相增加函数的返回值
数组不可以引用
避免返回局部变量的引用
可以返回结构的引用
相关文章推荐
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- 引用与指针的区别
- 指针与引用的区别
- 引用和指针的主要区别
- 指针和引用的区别
- 指针和引用的区别总结
- 引用与指针的区别(转载)
- 指针与引用的区别
- 指针和引用的区别
- 指针与引用的区别(More Effective C++)
- 引用和指针的使用区别
- 指针与引用的区别(摘自Effective C++)
- C++中引用和指针的两个重要区别
- C++中指针(pointer)和引用(reference)的区别和联系
- 指针与引用的区别
- 指针和引用的区别
- c++中指针,指针的引用,指针的指针的区别
- 指针与引用的区别 (MoreEffictive C++)
- 指针与引用的区别
- 指针与引用的区别