Goz*_*Goz 2 c++ typedef forward-declaration
我有一个字符串类,毫不奇怪,它使用不同的实现,具体取决于是否启用了UNICODE.
#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif
Run Code Online (Sandbox Code Playgroud)
这很好用但我目前有一个问题,我需要转发声明StringT typedef.我怎样才能做到这一点?
我不能这样做typedef StringT;,这使得前瞻性声明变得棘手.是否可以执行此typedef类型的前向声明,而不必将上面的代码放到头文件的顶部?
按照iosfwd标准头设置的示例进行操作.编写包含此文件的头文件,并将其命名为StringTFwd.h
class StringUTF16;
class StringUTF8;
#ifdef UNICODE
typedef StringUTF16 StringT;
#else
typedef StringUTF8 StringT;
#endif
Run Code Online (Sandbox Code Playgroud)
至少这是可重用的,并不会丑化引用它的标头.