我最近在Win32上工作很多,但我對它很陌生,需要一些關於組織的建議。在C++中,雖然它在語法上用於聲明全局變量,但我一直覺得這是一個馬虎,因爲這個變量可以在任何地方被修改,所以跟蹤對它的修改變得更加困難。使用Win32進行組織的典型約定是什麼?
在我的Win32項目中,我有幾個變量需要在多個地方進行修改。例如,一個這樣的變量在WndProc函數中,也在對話過程函數中。由於它使用的方式,我能夠簡單地使用WndProc中的實際值,然後使用DialogBoxParam調用對話框,並通過lParam值將該值傳遞給對話框。
但是,還有其他值,例如我用於繪圖的某些位圖或用於多個不同窗口消息調用的變量,其中值需要在WndProc函數的多個實例中保留,或者多種功能。我可以控制我創建的函數的參數,但是如果我需要將一個變量傳遞給WndProc函數,以便我可以使用它而不管多個不同的窗口消息,該怎麼辦?如果我需要傳入多個值,該怎麼辦?
到目前爲止,我只是將所有東西都製作成全局的,並且它可以工作,但對我來說這種感覺很渺茫......但我知道一些變量通常是全局的,因爲這是一個常規問題 - 就像主窗口和實例變量。
你們都在想什麼?
是的:全局變量是「壞」的。是的,在經典的Win32/C編程中,全局變量通常或多或少都是不可避免的。這是你的問題嗎? – paulsm4 2013-03-14 21:33:00