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