1−空间:{\green{1-空间:}}1−空间:
指针需要分配空间,通过地址间接访问{\red{指针需要分配空间,通过地址间接访问}}指针需要分配空间,通过地址间接访问
引用不需要空间,通过名称直接访问{\orange{引用不需要空间,通过名称直接访问}}引用不需要空间,通过名称直接访问
2−初始化:{\green{2 - 初始化:}}2−初始化:
引用必须初始化,不存在空引用{\red{引用必须初始化,不存在空引用}}引用必须初始化,不存在空引用
指针不必初始化,有空指针很危险{\orange{指针不必初始化,有空指针很危险}}指针不必初始化,有空指针很危险
3−修改:{\green{3-修改:}}3−修改:
引用初始化后不可修改{\red{引用初始化后不可修改}}引用初始化后不可修改
指针可反复修改{\orange{指针可反复修改}}指针可反复修改
4−多级:{\green{4-多级:}}4−多级:
存在多级指针{\red{存在多级指针}}存在多级指针
不存在多级引用{\orange{不存在多级引用}}不存在多级引用
5−sizeof:{\green{5-sizeof:}}5−sizeof:
sizeof(指针)是一个地址大小{\red{sizeof(指针)是一个地址大小}}sizeof(指针)是一个地址大小
sizeof(引用)是对象大小{\orange{sizeof(引用)是对象大小}}sizeof(引用)是对象大小
引用实现上也是通过指针,引用是更安全的指针{\blue{引用实现上也是通过指针,引用是更安全的指针}}引用实现上也是通过指针,引用是更安全的指针
缺点:{\green{缺点:}}缺点:
指针存在野指针风险{\red{指针存在野指针风险}}指针存在野指针风险
引用存在引用局部变量的风险{\orange{引用存在引用局部变量的风险}}引用存在引用局部变量的风险