精简版:
指针:变量,独立,可变,可空,替身,无类型检查;
引用:别名,依赖,不变,非空,本体,有类型检查;
相同点:
都是地址的概念
不同点:
指针是一个实体(替身);引用只是一个别名(本体的另一个名字)
引用只能在定义时被初始化一次,之后不可改变,即“从一而终”;指针可以修改,即“见异思迁”;
引用不能为空(有本体,才有别名);指针可以为空;
sizeof 引用,得到的是所指向变量的大小;sizeof 指针,得到的是指针的大小;
指针 ++,是指指针的地址自增;引用++是指所指变量自增;
引用是类型安全的,引用过程会进行类型检查;指针不会进行安全检查;
init 使用 {}
vector a= {1,2}
枚举
enum class A
{
}
使用nullptr
1.首先查看当前系统装了几个GCC版本:
ls /usr/bin/gcc*
2.给GCC各版本设置优先级,最后设置的数字越小,优先级越高,下面设置是GCC4.8为最高,即默认是GCC48.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48
3.如果以后要切换其它版本,除了上面设置优先级,还可以使用下面命令:
sudo update-alternatives --config gcc
4.设置完可以用如下命令查看当前版本:
gcc -v