2011-09-14 20 views
9

¿Importa el orden en que enumero las clases base cuando una de ellas está vacía y la otra no?¿Dónde debería poner la clase base vacía?

class Foo : normal_class, empty_class { ... }; 

class Foo : empty_class, normal_class { ... }; 

¿El pedido afecta la capacidad del compilador de aplicar la optimización de la clase base vacía?

+0

no tengo la norma que nos ocupa en este momento (no sería un comentario), pero a partir de la parte superior de mi sombrero I' d decir que Standard no restringe la optimización a una posición específica en la lista base. –

+0

¿Es factible hacer una prueba en el mundo real y comparar el conjunto? –

+0

LOL, intenté responder a una pregunta similar hace un par de años haciendo una prueba en el mundo real. Eché a perder el experimento, obtuve el resultado incorrecto, y obtuve mi trasero entregado. – Potatoswatter

Respuesta

0

Es irrelevante: después de que se hereden algunos miembros de datos, el compilador puede rellenar la clase arbitrariamente. Entonces, no, la optimización vacía no se aplica necesariamente.

Cuestiones relacionadas