小人物学个大习(51-60)
C++ primer
为引用赋值,实际上是把值赋给了与引用绑定的对象,获取引用的值,实际上是获取了与引用绑定的对象的值。
引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起。指针也实现了对其它对象的间接访问
特点:一。允许赋值和拷贝,可以先后指向几个不同的对象
二。无需在定义时赋初值。和内置类型一样,在块作用域内定义的指针,如果没有被初始化,将拥有一个不确定的值。
通过声明符*来定义指针指针存放某个对象的地址,要想获取该地址,需要使用取地址符&
指针使用*解引用符来访问该对象
空指针,不指向任何对象,在试图使用一个指针之前代码可以首先检查它是否为空。
int *p1=nullptr;
int *p1=0;
int *p1=NULL;
空指针
最好使用nullptr这是新的规则指针和它存放的地址之间没有绑定的关系,给指针赋值就是令它存放一个新的地址,从而指向一个新的对象。
对两个类型相同的合法指针,可以用相等操作符==和不相等操作符!=来比较他们,比较的结果是布尔类型
void* 是一种特殊的指针类型,可用于存放任意对象的地址,不同的是,我们对该地址中到底是个什么类型的对象并不了解
变量的定义包括一个基本数据类型和一组声明符。在同一条定义语句中,虽然基本数据类型只有一个,但是声明符的形式却可以不同。
int I = 1024,*p = &i,&r = i;一般来说,声明符中修饰符的个数并没有限制。当有多个修饰符连写在一起时,按照其逻辑关系详加解释即可。**表示指向指针的指针,***表示指向指针的指针的指针
不管学习的质量如何,总是要坚持学习。
2023年6月29日