Предположим, у вас есть этот класс:
class A
{
public:
A () {}
A (double val) : m_val(val) {}
~A () {}
private:
double m_val;
};
Как только я создаю экземпляр A, как я могу проверить, был ли инициализирован / определен m_val?
Другими словами, есть ли способ узнать, был ли инициализирован / определен m_val или нет? Полагаю, что-то вроде оператора defined
в Python. (Но поправьте меня, если я ошибаюсь.)
Я думал об изменении класса и c-tors следующим образом:
class A
{
public:
A () : defined(false) {}
A (double val) : m_val(val), defined(true) {}
~A () {}
private:
double m_val;
bool defined;
};
Как вы оцениваете это решение? Любое предложение?
ТИА,
Chris