Overview
作为传统SLAM选手,在面试中被问到C++知识是不可避免地,不过因为C++知识点实际上非常之多,所以这里就挑一些自己看面经别人经常被问道或者自己经常被问的知识点来记录,希望可以巩固一下吧
1. 引用
引用是变量的别名,为已有的变量提供了一个新的名字。引用可以修改变量的值,所以经常有的就是引用传参。引用在使用的时候必须初始化,也就是不能为空,因为他是变量的别名。
1.1 引用和指针区别
这个问题感觉被问到的频率也挺高的,首先第一点是引用必须初始化,而指针可以初始为空指针,并且不能更改引用的对象,而指针可以改变指向的对象,第二点是引用因为是别名,所以其实引用是没有独立的内存地址的,而指针有独立的内存地址,其存放的则是变量的地址,第三点其实和第一点有关,引用其实是一种隐式的const,也就是不能改变引用的对象,但指针则有指针常量和常量指针,关于指针的const之前看到一个说法是除了const在最前面的时候,const修饰的都是左边的,也就是左边是*修饰的就是指针不可