【发布时间】:2011-08-16 17:55:13
【问题描述】:
我想将派生结构的所有成员归零。
有数百个成员,并且每隔一段时间就会添加更多成员,所以我觉得显式初始化它们很容易出错。
结构没有虚函数,所有成员字段都是内置的。但是,它们不是 POD,因为它们具有非平凡的构造函数。
除了对实践的标准皱眉之外,您是否发现以下任何问题?
struct Base
{
// Stuff
};
struct Derived : public Base
{
// Hundreds of fields of different built-in types
// including arrays
Derived()
{
::memset(reinterpret_cast<char*>this + sizeof (Base), 0, sizeof *this - sizeof (Base));
}
};
谢谢。
【问题讨论】:
标签: c++ constructor sizeof memset