是否可以typedef
使用模板的长类型?例如:
templateclass LongClassName { // ... }; template typedef std::vector< boost::shared_ptr< LongClassName > > LongCollection; LongCollection m_foo;
这不起作用,但有没有办法达到类似的效果?我只想避免键入和读取几乎涵盖编辑器窗口全宽的类型定义.
不,这是目前不可能的.它将在C++ 0X AFAIK中成为可能.
我能想到的最好的是
templatestruct LongCollection { typedef std::vector< boost::shared_ptr< LongClassName > > type; }; LongCollection ::type m_foo;