2012-10-27 31 views
0

我開始學習C++中的Windows編程。我一直在編寫C++控制檯應用程序一段時間。我的問題是,如果我有一個類:Windows特定類型和本機類型C++

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

並希望在我的GUI應用程序中使用它。我是否應該將示例成員的類型更改爲 特定於Windows的類型?還是應該只在與GUI相關的程序部分使用Windows類型?最佳做法是什麼?

+1

Windows類型只是'typedef's。 – chris

+0

好吧,不。在這一點上簡單易用,Windows在過去的19年中一直是Unicode操作系統。 char *究竟是什麼意思?做utf-8或只是忽略Unicode,因爲所有的書都這樣做?你爲什麼不使用wchat_t *? –

+0

這只是一個例子。是的,我可以使用wchar_t。 – user1461256

回答

4

對此的回答可能有些基於偏好和用例。如果您要將對象中的數據傳遞給Windows API,那麼讓您的數據類型與Windows數據類型匹配可能是有意義的。另一方面,我們有一些特定於平臺的代碼(例如Windows或Mac GUI代碼)和一些便攜式代碼。在可移植代碼中,我們試圖堅持使用C/C++類型,而在特定於平臺的代碼中,我們將使用特定於平臺的類型。

所以簡短的回答是沒有正確的答案,但我個人會嘗試堅持C/C++類型儘可能基於我的移植應用程序的經驗。