empty class?
-
Hallo Leute!
ist folgendes eine leere Klasse?
template<typename SizeTye, int Size> struct IsItEmpty { enum { size = Size }; typedef SizeType size_type; static size_type getSize() { return Size; } };
also kann der Compiler die EBO mit dieser Klasse verwenden?
-
Im Standard steht AFAIK keine genaue Definition einer leeren Klasse, damit kannst du davon ausgehen, dass EBO dann greift, wenn der Compiler zu dem Schluss gekommen ist, dass er für eine Instanz dieser Klasse theoretisch 0 Byte allozieren müsste.
Also auf deine Frage: ja, weil sie weder virtuelle Funktionen, virtuelle Basisklassen, noch nichtstatische Datenmember hat.
-
thx