相关疑难解决方法(0)

这个C++结构初始化技巧是否安全?

我不是必须记住初始化一个简单的'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调用没有虚函数表来销毁,这是一种安全的做法吗?

c++ data-structures

31
推荐指数
4
解决办法
3万
查看次数

在类中初始化静态struct tm

我想在类中使用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中的值?

c++ static struct class ctime

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

class ×1

ctime ×1

data-structures ×1

static ×1

struct ×1