C++中静态结构的初始化
Initalization of static structure in C++
我正在C++中实现一个线程安全的单例类。我需要一种初始化互斥的方法来保护getInstance()
方法。
这是一个自包含的共享库,所以我不能使用来自另一个类的互斥,我必须找到一种方法在类内初始化它。
该库必须移植到各种平台,所以让我们考虑互斥是:
static void * OS_mutex;
为了初始化它,你使用
OS_Mutex_Init ( void * mutex);
我试图实现一个嵌套类,在它的构造函数中初始化OS_mutex结构。
但我遇到了一些麻烦,有人知道如何实现我所需要的吗?任何参考资料或链接都将不胜感激。
首先,将其声明为变量:
static MyStruct OS_Mutex;
其中:
struct MyStruct
{
void* pointer;
MyStruct() : pointer(0)
{
// Called on initialization of global variables by the CRT
// You can call here your function OS_Mutex_Init()
// Or you can use lazy initialization (leave the pointer to 0,
// and initialize it only when someone needs it)
}
};
那么,这两个答案可能会对你有所帮助:
- 加载DLL而不是初始化静态类
- dll中声明的全局变量会发生什么情况
相关文章:
- 在C和C++中初始化结构中的数组
- 我们可以用参数化构造函数初始化结构的数组吗?
- 尝试初始化结构内的联合时出错
- 使用其他成员初始化结构的成员?
- 使用构造函数初始化结构还是在之后设置其值更好?
- 如果不初始化结构中的向量,它会自动为空还是具有随机内存位置的值?
- 如何在另一个结构中初始化结构数组?
- 如何在构造函数中初始化结构体的动态数组?
- 初始化结构中的联合 - c++
- 尝试初始化结构向量时出现编译错误
- 用于初始化结构的 void 指针强制转换
- 初始化结构的两种方式
- 使用用户定义的构造函数初始化C++结构
- 使用初始值设定项列表初始化结构,对于 std::array 失败
- 在 c++ 中初始化结构的指针
- 无序列图会创建一个零初始化结构吗?
- 如何在C++中初始化结构
- C 用结构指针初始化结构
- 在C 中初始化结构数组
- 使用数组聚合初始化结构数组