0
点赞
收藏
分享

微信扫一扫

c++项目文件 互相引用的设计方法备忘(单例模式)


排兵布阵讲究布局章法,软件也是一样,小到在数据结构上执行算法,大到在各个模块上执行流程

 

单例模式:

方式一:全局指针

在一个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修饰局部变量的时候,该变量的存储空间由栈变为静态区

 

举报

相关推荐

0 条评论