c++ 引用和static理解

引用:
1、引用是申明一种关系不是定义一个变量,所以不开辟空间。不单独存在必须要初始化指向某个东西。他是一个别名和指向的对象一样的实体,不是一个指针,所以不能按照指针 ->的方式访问,而是按照.xxx的方式访问。
2、当函数参数传递引用时候,就相当于说把传递参数的变量的作用域增加了,增加到了调用函数内部了。
3、引用其实是一个常量指针类似:int *p ->修饰成常量指针就变成了int * const p这样一样, 所以他要一开始就指向别人,而且不能改变。所以实际上他其实是有空间的,至少占用一个指针的空间。其实应用的本质就是指针。

Static:
static在C语言汇总重要修饰变量的作用域(文件内与有效)和存储位置 (静态变量区)。在C++中,static可以修饰成员变量+成员函数
1、修饰成员变量时候,起到了多个类对象之间的数据的共享。这个static成员变量部署那个对象实例而是数据这个类(相当于这个static变量数据这个类的命名空间),所以需要在类外面通过类的作用域比如int A::a = xxx方式类线初始化才行。不占用类的空间,存放在静态区存储的。
2、当static修饰成员函数时候,因为该函数不属于某个对象,所以在函数中没有隐含this指针了,所以不能在函数中向其他成员函数一样访问到累的非static成员。而智能访问static修饰的成员,这样就达到了协调对象之间共享数据的协调了。其实static函数的作用就是类用来提供给外面人用,在没有对象时候也可以通过该接口来访问类中定义的共享数据(static修饰的变量)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章