讓我們假設你有這樣的類:未定義/未初始化的默認值
class A
{
public:
A() {}
A (double val) : m_val(val) {}
~A() {}
private:
double m_val;
};
一旦我創建了一個實例,我怎麼能檢查是否m_val已初始化/定義? 換句話說,有沒有辦法知道m_val是否已被初始化/定義?我猜想,Python中的defined
運算符是一些東西。 (但是,糾正我,如果我錯了。)
我想修改類和C-職責範圍如下方式:
class A
{
public:
A() : defined(false) {}
A (double val) : m_val(val), defined(true) {}
~A() {}
private:
double m_val;
bool defined;
};
你如何評價這個解決方案?任何建議?
TIA, 克里斯
+1對於INITIALISE用默認值 – 2010-06-01 09:38:25
'NaN'會是一個很好的價值對我來說,因爲它是不能設置唯一的價值。 但是,如果它是'NaN',你將如何測試一個變量? – Jir 2010-06-01 09:40:16
@Jir:''定義'isnan()'。編輯:其實現在我不完全確定它在C++中的定義是什麼以及如何定義的(我自己更多地是一個C人員)...您總是可以回退到value!= value,這隻適用於浮動當他們是NaN時, –
2010-06-01 09:43:13