可能重複:
When should BOOL and bool be used in C++?重構MFC,你使用BOOL或BOOL
我目前正在整理一個大型的C++代碼庫,這主要是MFC,有很多BOOL變量和參數。它裏面還有一些bools,比較時會產生編譯器警告;
警告C4800:'BOOL:強制值bool「真」或「假」(性能警告)
的計劃是移動到一個全新的編譯沒有警告,在VS2008警告級別4。我的選擇如下:
- 改變所有的bool到布爾值將改變所有
- 布爾值將到布爾變量
- 讓編譯器不報告警告4800
你會怎麼做,更重要的是爲什麼呢?我目前傾向於第一種選擇,因爲代碼中包含很多MFC,所以有許多返回BOOL的框架函數。
編輯糟糕,previously asked question給了我想要的信息。正在關閉...
僅供參考,請參閱此C4800警告的討論:http://stackoverflow.com/questions/1847860/why-is-there-a-performance-warning-on-cast-pointer-to-bool – 2010-11-25 09:04:33