欢迎光临散文网 会员登陆 & 注册

C++ Primer学习笔记——复合类型

2022-12-31 11:08 作者:_任逍遥  | 我要投稿

    引用

  • 引用有两种:左值引用和右值引用,此处先讨论左值引用。

  • 引用只是给变量起了另一个名称,在初始化时,并非将初始值拷贝给引用变量,而是与该变量绑定在一起。在使用引用时,必须要用左值对其进行初始化。

    指针

  • 指针是一个专门用于存储内存地址的特殊类型变量,可以使用指针来间接访问它指向变量。

  • 在使用指针时,程序员必须明确清楚,该指针是指向了一个有效的变量,避免试图解引用一个指向未知变量的指针(又叫做“野指针”),因为我们不知道其指向的地址的值是什么。

  •   C++11中新添加了nullptr字面值来说明指针为空指针,在C++程序中尽量使用nullptr,而不要使用NULL或0。(Effective Modern C++中有详细说明,这本书up主只看了一点,还没有看完)

  • 指针作为条件判断来使用

  • void*指针比较特殊,可以用于存放任何指针类型的指针,也可以存放任何类型变量的地址。

  • 指向指针的指针(就是套娃,一层套一层

总结

指针和引用的区别如下(这也是up主在刚毕业找工作面试中遇到过最多的问题之一)

  1. 指针是一个具体的变量,它存储的是一个变量的内存地址,而引用不是,引用只是某个变量的别名,并与其原始变量共存。

  2. 指针可以在其程序的生命周期内进行赋值和拷贝,而引用不允许这些操作,它始终只服务于一个对象(或变量)。

  3. 指针可以不用初始化,但是引用被定义后必须要指明被绑定的对象,即必须被初始化。

指针和引用多用用就懂了


C++ Primer学习笔记——复合类型的评论 (共 条)

分享到微博请遵守国家法律