排兵布阵讲究布局章法,软件也是一样,小到在数据结构上执行算法,大到在各个模块上执行流程
单例模式:
方式一:全局指针
在一个cpp里定义一个全局变量(指针)
QString *a;//全局变量(任何函数之外)
//----在构造函数中new出来(至少不能成为野指针)
a=new QString("hello");
其他h文件extern这个变量类型及变量
extern QString *a;
//----在本文件的函数中使用
char* temp = a->data();
方式二:全局静态变量
在h文件里声明它
#defined globle_string a
在CPP文件的局部函数中static声明一个变量及类型
//在一个局部函数中写
static QString a("hello");
其他文件引用这个h文件
//----在引用了h文件的函数中使用
char* temp = globle_string.data();
这里要知道static关键字在内存中的安排方式
static修饰局部变量的时候,该变量的存储空间由栈变为静态区