我的问题很简单。 在C ++中合法推迟在如下声明中的typedef? gcc接受代码没有问题,但它是一种弃用的方式?我问这个是因为每次在指令开头都有typedef的样本。
enum _mytype {
A=1,
B=2
} typedef mytype;
答案 0 :(得分:4)
typedef X Y;
和
X typedef Y;
只是两种在C ++中编写完全相同的东西的方法。两者都没有被弃用,只是第一个被更常用,可能是因为你可以把它读作“typedef X as Y”。
答案 1 :(得分:-2)
在C中你经常使用
typedef enum
{
} what_ever;
因为在C“enum what_ever”中会定义一个类型“enum what_ever”而不是“what_ever”。但是在C ++中并非如此,除了向后兼容性之外,在编写C ++时不应该在这种情况下使用typedef。