【分析】
C++ Code
1
|
void *memset(void *s, int v, size_t n);
|
是否可以用memset来初始化一个类?
如果Class有虚函数,绝对不要用memset初始化,会导致vptr出异常,而无法调用virtual函数。其它情况则可以。
memset可以方便的清空一个结构类型的变量或数组。
C++ Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
struct student
{ char name[20]; int age; int id; }; void test_memset() { struct student s; s.name[0] = ' '; s.age = 0; s.id = 0; struct student s2; memset(&s2, 0, sizeof(struct student)); } |
【参考】
http://hi.baidu.com/mecoring/item/3c8e4b3fbb9d9e4e023edcfa