简单来说,做say的差别(或者是否有差别)是什么?
请确认是否需要翻译其他内容。
class MyClassList : list<MyClass> { };
vs
typedef list<MyClass> MyClassList;
我能想到的唯一优势(也是我提出这个问题的原因)就是使用派生类后,我现在可以轻松地将MyClassList作为前向声明:
class MyClassList;
没有编译错误,而不是
class MyClass;
typedef list<MyClass> MyClassList;
我想不出任何区别,但这让我想知道,在哪些情况下typedef可以被使用而简单的派生类不能?
换句话说,是否有任何理由我不应该将所有的typedef list<...> SomeClassList更改为简单的派生类,以便我可以轻松地前向声明它们?
list
,因为它在std
命名空间中)。 - Mark B