细数C++的指针和引用的区别
本质不同
引用 是 变量 的别名,就是说 两者 是一块 内存 的 不同 名字,就好比明朝的开国皇帝 朱元璋,它的名字也叫朱重八。
而 指针 呢,首先 它是一个 变量,这个变量存着 一块变量的内存地址,就好比 朱元璋有个妻子叫马皇后,曾经在朱元璋落魄的时候,冒着危险,给朱元璋送饭吃,马皇后是一个人,他知道朱元璋在哪里。
定义时 不同
引用 必须 在引用时 初始化 ,他需要知道 自己 是谁的别名。不可以指向NULL。
指针 则不用 必须初始化。可以指向NULL
附属对象,专一深情&花心大罗卜
引用 附属 对象 比较专一,初始化之后 就不能改变了。可谓 专一深情。
指针 指向的对象 可以来回变。可不就是 花心大罗卜嘛。
作为函数的一个 参数 时
引用 不需要 检查 是否为空 ,只需要考虑 这个对象 是不是 需要改变就可以啦。
指针的话 则需要 检查 是不是空的。这一块确实要注意。