【问题标题】:Windows-specic types and Native types C++Windows 特定类型和本机类型 C++
【发布时间】:2012-10-27 21:14:27
【问题描述】:

我开始学习 C++ 中的 Windows 编程。一段时间以来,我一直在编写 c++ 控制台应用程序。我的问题是,如果我有课:

class Example
{
    int x;
    char* y;
};

并且想在我的 GUI 应用程序中使用它。我应该将示例成员的类型更改为 Windows 特定类型?还是我应该只在与 GUI 相关的程序部分使用 windows 类型?最佳做法是什么?

【问题讨论】:

  • Windows 类型只是typedefs。
  • 嗯,不。简单来说,Windows 在过去 19 年里一直是 Unicode 操作系统。 char* 到底是什么意思?做 utf-8 还是因为所有的书都做而忽略 Unicode?你为什么不使用 wchat_t*?
  • 这只是一个例子。是的,我可以使用 wchar_t。

标签: c++ windows winapi visual-c++ win32gui


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    相关资源
    最近更新 更多