C++存储类
auto存储类(判断变量类型)(函数返回值的占位符)
register存储类(存储在寄存器,不是RAM的局部变量)(不用&)
static存储类(静态局部变量程序结束之前都有效)(静态全局变量作用于声明他的文件内)
mutable存储类(类的对象)(mutable成员通过const成员函数修改)
thread_local存储类(线程访问专一)(可与static\extern合并)(数据声明和定义)(无函数声明和定义)
范例:
#include <iostream>
#include <limits.h>
#include <vector>
using namespace std;
void func(void);
static int count =10; //全局变量
int num; //全局变量
extern void write_extern(); //外部函数调用
int main(void)
{
//auto存储类(判断变量类型)(函数返回值的占位符)
auto f=3.14; //double
auto s("hello"); //const char *
auto z= new auto(9); //int *
std::cout <<f<<"\n"<<s<<"\n"<<z<<endl;
//register存储类(存储在寄存器,不是RAM的局部变量)(不用&)
register int a;
a=100;
std::cout <<a<<"\n"; //100
//static存储类(静态局部变量程序结束之前都有效)(静态全局变量作用于声明他的文件内)
while(count--)
{
func();
}
//exterm存储类(全局变量引用)(用于两个或多个文件共享相同的全局变量或函数)
num =5;
write_extern(); //这个函数将打印num=5
//mutable存储类(类的对象)(mutable成员通过const成员函数修改)
//thread_local存储类(线程访问专一)(可与static\extern合并)(数据声明和定义)(无函数声明和定义)
return 0;
}
void func(void)
{
static int i=5; //局部静态变量
i++;
std::cout <<"变量i为:"<<i;
std::cout<<" ,变量count为:"<<count<<std::endl;
}