如何声明C++;基于平台的变量类型? 我试图编写一些在Windows和Linux上都能工作的C++代码。我目前有: #ifdef WINDOWS HINSTANCE _handle; #else void* _handle; #endif
是否可以将类型声明为基于平台的条件类型,以便我可以执行以下操作:如何声明C++;基于平台的变量类型? 我试图编写一些在Windows和Linux上都能工作的C++代码。我目前有: #ifdef WINDOWS HINSTANCE _handle; #else void* _handle; #endif,c++,variables,C++,Variables,是否可以将类型声明为基于平台的条件类型,以便我可以执行以下操作: #ifdef WINDOWS //define TYPE = HINSTANCE; #else //define TYPE = void*; #endif TYPE _handle; #ifdef WINDOWS typedef HINSTANCE TYPE; #else typedef void* TYPE; #endif TYPE _handle; 你是说: #ifdef WINDOWS //defi
#ifdef WINDOWS
//define TYPE = HINSTANCE;
#else
//define TYPE = void*;
#endif
TYPE _handle;
#ifdef WINDOWS
typedef HINSTANCE TYPE;
#else
typedef void* TYPE;
#endif
TYPE _handle;
你是说:
#ifdef WINDOWS
//define TYPE = HINSTANCE;
#else
//define TYPE = void*;
#endif
TYPE _handle;
#ifdef WINDOWS
typedef HINSTANCE TYPE;
#else
typedef void* TYPE;
#endif
TYPE _handle;
或者,如果您更喜欢使用(尽管在本文中没有区别):
您应该使用typedef关键字。如
typedef-HINSTANCE类型代码>使用TYPE=HINSTANCE
可能就是你想要的。Typedef是上个世纪的产物,使用'using'@pm100——在这种情况下,使用
比Typedef
更优越吗?语法更清晰,我想,我必须反复检查我的Typedef是否正确。当然,对于更复杂的事情,比如函数指针,这是一个很简单的问题。