我已多次看到以下样式类定义.这种风格的优缺点究竟是什么?
typedef class _MyClass { public : _MyClass(); } MyClass;
解决方法
它在C中很少见,但在C中很常见(其中struct Foo不会自动别名为Foo.)您可能会在具有不同平台的库中看到它(例如“Canvas”类,这是非常实现的 – 特定的.)库将使用typedef让其用户简化他们的代码:
#if WINDOWS typedef class WindowsCanvas { private: HWND handle; } Canvas; #elif MAC typedef class MacCanvas { private: CGContextRef context; } Canvas; #endif
在这样的示例中,人们只需要使用Canvas类型,而不是特定于平台的类型.