我不是必须记住初始化一个简单的'C'结构,而是可以从它派生并在构造函数中将它归零,如下所示:
struct MY_STRUCT
{
int n1;
int n2;
};
class CMyStruct : public MY_STRUCT
{
public:
CMyStruct()
{
memset(this, 0, sizeof(MY_STRUCT));
}
};
Run Code Online (Sandbox Code Playgroud)
这个技巧通常用于初始化Win32结构,有时可以设置无处不在的cbSize成员.
现在,只要memset调用没有虚函数表来销毁,这是一种安全的做法吗?
我想在类中使用tm结构作为静态变量.花了一整天阅读和尝试但它仍然无法工作:(如果有人能指出我做错了什么会很感激
在我的班级中,在Public下,我已将其声明为:
static struct tm *dataTime;
Run Code Online (Sandbox Code Playgroud)
在main.cpp中,我试图用系统时间临时定义和初始化它来测试(在运行时输入的实际时间)
time_t rawTime;
time ( &rawTime );
tm Indice::dataTime = localtime(&rawTime);
Run Code Online (Sandbox Code Playgroud)
但似乎我不能使用time()外部函数.
main.cpp:28:错误:在'('标记之前)期望的构造函数,析构函数或类型转换
如何初始化类的静态tm中的值?