C.47: Definir e inicializar variables miembro en el orden de declaración de miembro
C.47: el orden definido de conformidad con la declaración de variables miembro y los miembros de datos de inicialización
La razón (razón)
Para minimizar la confusión y errores. Ese es el orden en el que ocurre la inicialización (independiente del orden de valores de inicialización miembro).
Minimizar la confusión y error. Este (el orden indicado, Nota del Traductor) es (orden independiente y miembro de inicializador) con el fin de realizar la inicialización
Ejemplo, malo (muestra negativa)
class Foo {
int m1;
int m2;
public:
Foo(int x) :m2{x}, m1{++x} { } // BAD: misleading initializer order
// ...
};
Foo x(1); // surprise: x.m1 == x.m2 == 2
Cumplimiento (Sugerencias)
(Simple) Un miembro de la lista de inicialización debe hablar de los miembros en el mismo orden en que se declaran.
(Simple) lista de inicialización miembro debe ser manejado en el orden en que son miembros declarados.
Descripción del enlace
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c47-define-and-initialize-member-variables-in-the-order-of-member-declaration
Creo que este artículo útil? pulgares de bienvenida ya compartir con más personas.
Leer artículos más actualizados, por favor preste atención a las micro-canal número público de pensamiento orientado a objetos []