假定以下虛擬模板:模板類型的C++ /模板/顯式初始化?
template < class DataType > class Dummy
{
public:
void init()
{
m_data = DataType(0);
}
private:
DataType m_data;
};
調用init將初始化內部數據。當DataType是標準數據類型(例如int或float)時,這確實工作正常。當DataType是一個類時,這個類必須有一個對應的構造函數。
現在假定DataType應該是例如。由合適的班級代表的複數。在這種情況下,爲複數類構造函數提供一個參數是沒有意義的,因爲在正常情況下,您需要初始化實部和虛部。
所以我的問題是: 什麼是最好的通用方式來初始化模板類型考慮到模板應適合存儲任何數據類型。
我想STL必須實現這樣的想法,但我迷失在該代碼中。
這取決於,你有一個支持C++ 11的編譯器嗎? –
不,我沒有。 – Mark