C++: 智能指针满足的需求,从需求谈指针
股民的并发症,需求为先。所以今天,从需求来谈谈指针,包括智能指针。
我们为什么需要指针?
标记一个地址。我们能够借由它对地址存储内容进行利用、改变。
特别是函数参数的传值引用(前面说了,传地址也是传值,只是这个值特殊)。
比如:
void changIt(int *p)
{
(*p)++;//存储内容改变
}
在指针的使用过程中,我们会学习到,什么表示为指针。
1、对变量取地址。
int a;
int *pa=&a;
2、数组名是一个地址。
int a[]{1,2,3,4,5};
int *p=a; //*p=&a[0]结果相同
3、函数名是一个地址。
void changeIt(){}
void (*p)() = changeIt;
p();//函数调用
(*p)();//函数调用
函数指针定义时,返回值(*指针变量名)(形参列表);妥妥的。
你就想着,没有括号的时候,是函数声明,前面表示的是返回值类型,没有定义出指针。
在变量定义过程中,*表示指针,&表示引用,你必须用一个来定义变量呀。于是不复杂了。
4、分
共有 0 条评论