ADL und Mehrfachvererbung/Template-Verschachtelung
-
Hallo
Ich habe mal gelesen, dass man von einer Klasse aus
boost::operatorlieber verschachtelt statt mehrfach erben soll://Statt class foo : boost::incrementable<foo>, boost::decrementable<foo> { }; //lieber class foo : boost::incrementable<foo, boost::decrementable<foo> > { };Wieso ist das so?
MfG, EOutOfResources
-
Steht in der Doku: manche Compiler können bei Mehrfachvererbung keine Empty-Base-Optimization.
-
Ich bin mir auch nicht 100% sicher, aber afaik hing das mit der "Empty Base Optimization" zusammen (d.h. eine leere Basisklasse benötigt keinen zusätzlichen Platz, das funktioniert aber anscheinend nur bei Einfach-Vererbung).
-
Ah, danke!