4. C++ FAQ
摘要: 獲取程序所在的目錄是一個常用的需求,在Windows下使用GetModuleFileName可以滿足需求。
在使用Qt,wxWidgets等實現可跨平臺代碼該如何處理?
---找與GetModuleFileName等價的API。這是我馬上能相到的。很遺憾,卻沒有找到。
有時候,你需要的東西就在你的面前,你卻找不到它。 閱讀全文
在使用Qt,wxWidgets等實現可跨平臺代碼該如何處理?
---找與GetModuleFileName等價的API。這是我馬上能相到的。很遺憾,卻沒有找到。
有時候,你需要的東西就在你的面前,你卻找不到它。 閱讀全文
摘要: std::list提供了兩個排序方法:std::list::sort() 和std::list::sort(_Pr3 _Pred)。
std::list::sort(_Pr3 _Pred)需要提供一個函數對象(仿函數)作為參數。構造函數有多種方式,lambda表達式算是最復合潮流的一種。 閱讀全文
std::list::sort(_Pr3 _Pred)需要提供一個函數對象(仿函數)作為參數。構造函數有多種方式,lambda表達式算是最復合潮流的一種。 閱讀全文
摘要: 有人說,MS引入_UNICODE就是個錯誤,STL引入wstring也是個錯誤;而鼓勵使用UTF8 string做為程序內部string存儲格式。在與GUI交互的時候,轉換為wstring(假定GUI使用的是_UNICODE)。這樣做至少有一個好處:相對的可以減少程序運行時占用內存的大小。當然現在內存資源也不是個什么大問題,我更關心的是保存/讀取XML數據的效率。 閱讀全文
摘要: 扔掉MultiByteToWideChar 吧,使用std::wstring_convert和 std::codecvt_utf8 來處理UTF8與WChar之間的互轉。
VC和Clang都支持哦~ 閱讀全文
VC和Clang都支持哦~ 閱讀全文
摘要: 手動建立工程,配置Qt環境,運行debug版本時,彈出一個錯誤對話框:
must construct a qapplication before a qpaintdevice 閱讀全文
must construct a qapplication before a qpaintdevice 閱讀全文
摘要: 最近打算把項目做成跨平臺的,使之能夠在Mac上運行。做為XCode的默認編譯器,據說Clang的編譯速度很快,所以決定第一步就需要玩起Clang來。
在編譯的過程中遇到不少問題,整理了如下幾點:
閱讀全文
在編譯的過程中遇到不少問題,整理了如下幾點:
閱讀全文
摘要: 一個布爾變量,無論是成員變量還是全局局部變量,加入定義的時候未初始化,其值是true 還是 false? 閱讀全文
摘要: 一般情況下,沒人會寫這樣的程序。返回臨時對象的引用時候,編譯器也會有warning。假如,忽略了warning,就有可能發生杯具。 閱讀全文
摘要: 結論:
如果知道vector的大小,resize一下可以當數組來用,不會分配多余的內存。 閱讀全文
如果知道vector的大小,resize一下可以當數組來用,不會分配多余的內存。 閱讀全文
摘要: 遞歸可以方便直觀的實現算法,但有時候卻會大大的影響程序性能,甚至引發程序非正常死亡。 閱讀全文
摘要: 二十一世紀的第一個十年過去了,回顧了一下這些年寫的博客,發現自己也沒閑著。但不免也有些遺憾,內容大都是關于知識、經驗和技術,而關于思考和idea的卻比較少。期待下一個十年吧!
第一篇日志是在2004年發布在CSDN的博客上(記得開始不叫博客),截至到現在累積了不少東西了。為了懷念這過去的十年(2000~2003是個空白期,那段時間國內好像也沒博客,網絡也不發達,信息也閉塞),特整理了一下,稱作我的原創技術隨筆大全(2000~2009) 閱讀全文
第一篇日志是在2004年發布在CSDN的博客上(記得開始不叫博客),截至到現在累積了不少東西了。為了懷念這過去的十年(2000~2003是個空白期,那段時間國內好像也沒博客,網絡也不發達,信息也閉塞),特整理了一下,稱作我的原創技術隨筆大全(2000~2009) 閱讀全文
摘要: 在libcpmt.lib聲明過的operator new在nafxcw.lib中再次定義 閱讀全文
摘要: 問題:
有時候用ifstream或ofstream打開帶有中文路徑的文件會失敗。 閱讀全文
有時候用ifstream或ofstream打開帶有中文路徑的文件會失敗。 閱讀全文
摘要: 取得std::ostringstream里的內容可以通過str()和str(string&)成員函數。由于str()返回的是臨時對象,因而會有如下誤用…… 閱讀全文
摘要: 最近遇到這樣一種情況:使用getline處理有相同text內容的std::ifstream和std::istringstream時,得到的結果有差異。從std::istringstream中返回的一行會多出一個不可見的'\r'符號。 閱讀全文
摘要: VC2005編譯一個ATL工程的時候,出現這樣一條錯誤:
midl : command line error MIDL1004 : cannot execute C preprocessor cl.exe
閱讀全文
midl : command line error MIDL1004 : cannot execute C preprocessor cl.exe
閱讀全文
摘要: 有些情況下,Debug版的程序運行的正常,可是用Release版就出問題了,網上有很多解決辦法。最近,我不幸也遇到了這種情況,不過解決方法卻很簡單——更改編譯選項。 閱讀全文
摘要: 默認情況下,用科學計數法表示實數,輸出的指數位數為3。如何控制使其只輸出2位指數位?VC6下如何?VC2005又如何? 閱讀全文
摘要: 如何通過FILE*操作內存文件?----一個有難度的問題 閱讀全文