我可以写这样的代码吗
class Foo
{
typedef Foo type;
};
我没有看到标准对此有任何限制。
注意:编译器:Apple GCC,操作系统:OSX 10.7
GCC 对此没有发现任何问题,我可以在type
后面的 Foo 定义中使用该类型。但是,您不能使用type
Foo 之外的类型。
可以编写该代码。type
并且Foo
不是保留字,C++ 允许在结构或类中定义类型。事实上,它们大量用于元编程和类型自省的模板中。有关该语言方面的更多详细信息,请参阅如何理解 C++ 中的依赖名称。