Windows专用类型和本机类型C++; 我开始学习C++中的Windows编程。我一直在编码C++控制台应用程序一段时间。我的问题是,如果我有一门课: class Example { int x; char* y; };

Windows专用类型和本机类型C++; 我开始学习C++中的Windows编程。我一直在编码C++控制台应用程序一段时间。我的问题是,如果我有一门课: class Example { int x; char* y; };,c++,windows,winapi,visual-c++,win32gui,C++,Windows,Winapi,Visual C++,Win32gui,并希望在我的GUI应用程序中使用它。我是否应该将示例成员的类型更改为 Windows特殊类型?或者我应该只在程序中与GUI相关的部分使用windows type吗?哪个是最佳实践?对此的答案可能在某种程度上取决于偏好和用例。如果要将数据从对象传递到windows API中,让数据类型与windows数据类型匹配可能是有意义的 另一方面,我们有一些特定于平台的代码(例如Windows或Mac GUI代码)和一些可移植的代码。在可移植代码中,我们尝试坚持使用C/C++类型,在特定于平台的代码中,我们

并希望在我的GUI应用程序中使用它。我是否应该将示例成员的类型更改为
Windows特殊类型?或者我应该只在程序中与GUI相关的部分使用windows type吗?哪个是最佳实践?

对此的答案可能在某种程度上取决于偏好和用例。如果要将数据从对象传递到windows API中,让数据类型与windows数据类型匹配可能是有意义的

另一方面,我们有一些特定于平台的代码(例如Windows或Mac GUI代码)和一些可移植的代码。在可移植代码中,我们尝试坚持使用C/C++类型,在特定于平台的代码中,我们将使用特定于平台的类型


因此,简短的回答是没有正确的答案,但我个人会根据我移植应用程序的经验,尽量坚持使用C/C++类型。

这个问题的答案可能在某种程度上取决于偏好和用例。如果要将数据从对象传递到windows API中,让数据类型与windows数据类型匹配可能是有意义的

另一方面,我们有一些特定于平台的代码(例如Windows或Mac GUI代码)和一些可移植的代码。在可移植代码中,我们尝试坚持使用C/C++类型,在特定于平台的代码中,我们将使用特定于平台的类型


因此,简短的回答是没有正确的答案,但根据我移植应用程序的经验,我个人会尽可能地坚持使用C/C++类型。

Windows类型只是
typedef
s。不,不。简单地说,在这一点上,Windows在过去19年中一直是Unicode操作系统。char*到底是什么意思?是使用utf-8还是因为所有的书都使用Unicode而忽略Unicode?为什么不使用wchat_t*?这只是一个例子。是的,我可以使用wchar_t。Windows类型只是
typedef
s。不,不。这一点很简单,Windows在过去19年中一直是Unicode操作系统。char*到底是什么意思?是使用utf-8还是因为所有的书都使用Unicode而忽略Unicode?为什么不使用wchat_t*?这只是一个例子。是的,我可以用wchar\t。