|
举个简单的例子,不管使用memcpy()或memset(),都只有在“classes不含任何由编译器产生的内部members”时才能有效运行。而如下的class由于声明了一个virtual function,编译器为其产生了vptr,此时若使用上述函数将导致vptr的初值被改写。 class Shape ...{ // 扩张后的constructor // memset会将vptr清为0 ***成员的初始化队伍*** 下列情况中,为了让你的程序能够被顺利编译,你必须使用member initialization list: (1)当初始化一个reference member时; |
