Observé un código de un colega hoy que inicializó las variables de clase en la inicialización. Sin embargo, estaba causando una advertencia, dice él debido al orden en que se encuentran. Mi pregunta es ¿por qué es mejor hacer la inicialización de la variable donde está actualmente y no dentro de las llaves?Inicialización de la clase C++ que contiene la inicialización de variable de clase
DiagramScene::DiagramScene(int slideNo, QRectF screenRect, MainWindow* parent)
: QGraphicsScene(screenRect, parent),
myParent(parent),
slideUndoImageCurrentIndex(-1),
nextGroupID(0),
m_undoInProgress(false),
m_deleteItemOnNextUndo(0)
line(0),
path(0)
{
/* Setup default brush for background */
scDetail->bgBrush.setStyle(Qt::SolidPattern);
scDetail->bgBrush.setColor(Qt::white);
setBackgroundBrush(scDetail->bgBrush);
}
Sólo una observación terminológica general: se trata de variables miembro. Las variables miembro pertenecen a un objeto. Las variables de clase no existen en C++, mientras que sí lo hacen en p. Ruby, y sirven más o menos para el propósito de las variables miembro estáticas de C++. – xtofl