1、static 修飾局部變量可以在函數(shù)調(diào)用之間保持局部變量的值。不知道如何操作
2、static 修飾符也可以應(yīng)用于全局變量。當(dāng) static 修飾全局變量時(shí),會(huì)使變量的作用域限制在聲明它的文件內(nèi)。
3、在 C++ 中,當(dāng) static 用在類數(shù)據(jù)成員上時(shí),會(huì)導(dǎo)致僅有一個(gè)該成員的副本被類的所有對(duì)象共享。
1、extern 存儲(chǔ)類 用于提供一個(gè)全局變量的引用,全局變量對(duì)所有的程序文件都是可見的。
#include <iostream>
using namespace std;
// 全局變量
static int b = 12324;
void func() {
b--;
cout<<b<<endl;
}
// extern 聲明一個(gè)函數(shù),在下面進(jìn)行了實(shí)現(xiàn)
extern void func2(int a);
int main()
{
func();
func2(12);
return 0;
}
void func2(int a){
a++;
cout<<a<<endl;
}
2、運(yùn)算符
這里就不介紹 常用的運(yùn)算符了。在java中經(jīng)常使用。這里僅僅介紹一下位運(yùn)算符
假設(shè)變量 A 的值為 60,變量 B 的值為 13
A = 0011 1100
B = 0000 1101

image.png

image.png
左移相當(dāng)于 *2 右移 相當(dāng)于 /2 取整
3、函數(shù)返回?cái)?shù)組
數(shù)組中Why,需要使用 static 來(lái)返回
#include <iostream>
using namespace std;
int * getArray(){
// 不知道 Why,必須要用 static 來(lái)修飾
static int a[5]={1,22,3,4,5};
return a;
}
int main()
{
int *b=getArray();
cout<<*(b+1)<<endl;
return 0;
}
4、指針指向C++的類
#include <iostream>
using namespace std;
class majie {
public:
int a=34567;
int b=67;
private:
int c;
int d=23;
public:
// 構(gòu)造方法
majie() {
cout<<"majie"<<endl;
}
// 析構(gòu)方法
~majie() {
cout<<"~majie"<<endl;
}
};
void func() {
majie m = majie();
majie *mj = &m;
// 可以訪問(wèn) public 不可以訪問(wèn) private 中的成員
cout<<mj->b<<endl;
}
int main()
{
func();
cout<<"system exit"<<endl;
return 0;
}
結(jié)果:
majie
67
~majie
system exit
由此可見,當(dāng)在方法中的類 majie 結(jié)束使用的時(shí)候,自動(dòng)調(diào)用其析構(gòu)函數(shù)