C ++ principios básicos C.47: la declaración de conformidad con las variables miembro orden definido y miembros de datos Inicializar

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 []

Publicados 408 artículos originales · ganado elogios 653 · vistas 290 000 +

Supongo que te gusta

Origin blog.csdn.net/craftsman1970/article/details/104521617
Recomendado
Clasificación