假设你有一个 C++ 类 Foo,你说:
Foo* foos = new Foo[SOME_CONSTANT];
memset(foos, 0, sizeof(Foo)*SOME_CONSTANT);
//or the bzero equivalent
并且 Foo 有一个数据成员Bar* barPtr
。上述操作会保证 barPtr 为 NULL 吗?(即零)。我在 gdb 中遇到了一个案例,这不适用于 memset,我很好奇为什么。
我知道以上可能是不好的做法,但我是出于好奇。
我意识到我有一个额外的,我在 memset 中做 sizeof(Foo )*SOME_CONSTANT ......