2014-02-25 52 views
1

现在我问自己如何在纯C++ 11中编写Win32 GUI应用程序。依我之见,在Visual Studio的Win32 GUI模板创建一个使用C.代码(例如:)用C++编写Win32应用程序11

HINSTANCE hInst;       
TCHAR szTitle[MAX_LOADSTRING]; 
TCHAR szWindowClass[MAX_LOADSTRING]; 

所以我的问题是一样简单如下:

  1. 如何写一个Win32 GUI在纯C++ 11中的应用?
  2. 还有什么我应该使用只能使用C + + 11标准容器和其他东西?
+5

这是有效的C++。有什么问题?如果你想使用标准库容器,只需自己写。 –

+0

@JosephMansfield,也许我的问题没有正确表达,但我希望你知道我需要什么。我知道'TCHAR szTitle [MAX_LOADSTRING]'是一个有效的C++容器,但是我可以使用它,例如'std :: wstring'。通过'纯粹的C++ 11',我的意思是使用最新的标准。 – Victor

+0

同样,实际问题是什么?当然,你可以使用STL容器,比如'std :: string'和'std :: wstring'。 Win32 API不关心你如何分配你的缓冲区,只是它们使用正确的数据类型('char' vs'wchar_t'等)。 –

回答

2

如果您不想使用Visual Studio生成的代码,请不要使用它。但请记住,win32是一个C API,因此在某些时候您必须将这些std:wstring转换为C字符串。

+0

因此,而不是一个Win32应用程序,我应该使用MFC之一? – Victor

+2

说实话我会用类似Qt的东西 – paulm

+0

你可以使用带有API函数的'std :: string'和'std :: wstring',你可以简单地使用'c_str()'或'data()'方法访问它们分配的底层内存块,然后根据需要将这些指针传递给API。 –