原创 以模板的方式重載"operator

當我們用C++進行後臺開發的時候,常常需要知道某一時刻一個容器的內容。 通常,我們的做法是利用迭代器將容器內容打印到日誌文件中,然後進行觀察分析。如果每次打印都去找迭代器的麻煩,顯然不是我們想要的。這樣,順理成章的我們就想到了封裝函數。

原创 static在C和C++中的區別

在C語言中,靜態變量(不管全局還是局部),都是先於main函數創建並分配內存; 在C++中,靜態變量是第一次使用的時候才創建並分配內存。 僞碼: void Fun() {     static int a; } int main()

原创 以模板的方式重載"operator <<"需要注意的地方

當我們用C++進行後臺開發的時候,常常需要知道某一時刻一個容器的內容。 通常,我們的做法是利用迭代器將容器內容打印到日誌文件中,然後進行觀察分析。如果每次打印都去找迭代器的麻煩,顯然不是我們想要的。這樣,順理成章的我們就想到了封裝函數。

原创 C++ 對bitset使用泛型算法

泛型算法是C++的一大特色,而bitset又是比較重要的一種數據類型,可惜的是bitset並不支持泛型算法。 例如,有一個8位二進制流 “ 11111000 ”(5個1, 3個0), 現在我們希望將這個二進制流的“1段”和“0段”對換,

原创 windows C++ 控制檯程序不顯示黑框的辦法

在程序代碼中加上以下批處理即可: #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

原创 項目筆記---Windows Service調用Windows API問題

轉於:http://www.cnblogs.com/cuiyansong/p/4318551.html 概要   此文來自於最近一個“詭異”的Windows API調用發現Windows Service在調用某些Windows AP

原创 在DLL中獲取自身的路徑

很多時候,dll並不一定和exe放在同一路徑,在dll中有可能會需要本身的當前路徑,那麼可以用以下方法: 1. 獲取dll本身的句柄【摘取自: http://blog.csdn.net/yaosan/article/details/34

原创 C++ 浮點數和字符串之間的轉化

一. 浮點數轉化爲字符串 double fNumber = 3.1415926535; stringstream ss; ss << fNumber << flush; string sNumber = ss.str(); 這樣之後,s

原创 【筆記】vs2015 使用GIT的時候 “Could not open '***.VC.opendb'”

以前一直在用SVN,剛轉過來用GIT,還不太熟悉,作爲筆記記錄下來: 如果打開項目的時候,報“Could not open '***.VC.opendb'”之類的錯誤,說明git版本控制中加入了***.VC.opendb。 ***.VC

原创 string CString wstring 之間的轉化

當使用unicode字符集進行編譯的時候,string、wstring、CString三者是有顯著區別的。以下討論均指在unicode字符集下。 特點: string和wstring是C++標準的兩個類型,CString是MFC的專用類

原创 【筆記】IOCP投遞WSARecv失敗10014的解決方法

WSARecv使用的時候可能會失敗,如果WSAGetLastError是10014,可能是WSARecv的參數錯誤: WINSOCK_API_LINKAGE int WSAAPI WSARecv( _In_ SOCKET s, _In_r