我很好奇C++/CLI中Collections :: Generic :: Dictionary 類的聲明語法。C++/CLI通用::字典聲明語法
通常我們在一個類中聲明的引用,並初始化:
public ref class CDemo {
private: ClassA^m_InstanceA;
// Why the absence of '^'.
private: Dictionary<int, int> m_Dic;
CDemo() :
m_InstanceA(gcnew ClassA()),
m_Dic(gcnew Dictionary<int, int>())
{...}
};
可能有人請解釋爲什麼要「^」缺席呢?
更重要的是,如果我使用的TValue另一個字典, 上面的字典我要聲明的是這樣的:
Dictionary<T, Dictionary<T, T>^ > m_Dic; // A '^' in the TValue parameter, which is
// normal, but same question as above,
// I don't have to declare m_Dic as^?
感謝。
這是一個錯誤。查看構造函數生成的IL,注意如何創建兩個字典。 – 2010-12-06 17:23:37