У меня был этот разговор с коллегой, и это оказалось интересным. Скажем, у нас есть следующий класс POD
struct A {
void clear() { memset(this, 0, sizeof(A)); }
int age;
char type;
};
clear
предназначен для очистки всех участников, установка на 0
(байт). Что может пойти не так, если мы используем A
как базовый класс? Здесь есть тонкий источник ошибок.