Se alienta el uso de las listas de inicializadores en general. Ahora vamos a decir que tengo el siguiente código (ejemplo trivial sólo para hacer más clara la pregunta):¿Puedo realizar una comprobación de cordura en la lista de inicializadores de un constructor?
class foo
{
public:
foo(ptr1* a, ptr2* b) : m_a(a), m_b(b), m_val(a->val) {}
/* code and members here */
};
me gustaría comprobar que a
no es NULL antes de que intenta eliminar la referencia para obtener val
. ¿Hay alguna manera de que pueda realizar un control de cordura allí?
Eso es un compromiso bastante bueno. Luego puedo poner los asertos en el cuerpo del constructor y realmente se dispararán correctamente. (+1) – Samaursa