1
我想創建一個構造函數來說明它存儲的是什麼類型的對象。有沒有簡單的方法來完成這個?我正在看decltype。在C++中是否有類似於typeof的東西?
template <typename T>
MyVector<T>::MyVector(int setCap)
{
m_ptr = new T[setCap];
m_size = 0;
m_capacity = setCap;
string typeSet = decltype(T);
cout << "New MyVector of type " << typeSet << " created\n";
}
您是否在尋找['typeid'(http://en.cppreference.com/w/cpp/language/typeid)? 'typeid(...)。name()'的輸出可能會或可能不會以您認爲有用的方式拼出類型名稱,這與實現相關。 – Praetorian 2013-03-13 21:15:25
這正是我所期待的。謝謝! – 2013-03-13 21:18:21
@thiefjack如果您使用的是GCC,您可以使用第二個答案[[此問題])來取消名稱的名稱(http://stackoverflow.com/questions/281818/unmangling-the-result-of-stdtype-infoname)不要使用第一個,它是越野車) – 2013-03-13 21:18:55