指针和引用都是复合类型,都与内存中实际存在的对象有联系。
指针“指向”了内存中的某个对象,而引用“绑定到”内存中的某个对象,它们都实现了对其他对象的间接访问,二者的区别主要有两方面:
第一,指针本身就是一个对象,允许赋值和拷贝,而且在指针的生命周期内它可以指向不同的对象;引用不是一个对象,无法令引用重新绑定到另外一个对象。
第二,指针无须在定义时赋初值,和其他内置类型一样,在块作用域内定义的指针如果没有初始化,也将拥有一个不确定的值;引用必须在定义时赋初值。
指针和引用都是复合类型,都与内存中实际存在的对象有联系。
指针“指向”了内存中的某个对象,而引用“绑定到”内存中的某个对象,它们都实现了对其他对象的间接访问,二者的区别主要有两方面:
第一,指针本身就是一个对象,允许赋值和拷贝,而且在指针的生命周期内它可以指向不同的对象;引用不是一个对象,无法令引用重新绑定到另外一个对象。
第二,指针无须在定义时赋初值,和其他内置类型一样,在块作用域内定义的指针如果没有初始化,也将拥有一个不确定的值;引用必须在定义时赋初值。