原创 GetLastError

函數原型 DWORD GetLastError(VOID); 函數功能 該函數返回調用線程最近的錯誤代碼值,錯誤代碼以單線程爲基礎來維護的,多線程不重寫各自的錯誤代碼值。 返回值 返回值爲調用的線程的錯誤代碼值(unsi

原创 在SQL-Server中,取出第n條到第m條記錄簡單分析

從publish 表中取出第 n 條到第 m 條的記錄: SELECT TOP m-n+1 * FROM publish WHERE (id NOT IN

原创 變量和基本類型

靜態類型語言 C++ 是靜態類型(statically typed)語言,在編譯時執行類型檢查。結果是程序中使用某個名字之前,必須先告知編譯器該名字的類型。 什麼是變量 變量提供了程序可以操作的有名字的存儲區。C++ 中的每一個變

原创 vector C++遍歷最快方法

size_t len = vec.size(); for (size_t i =0; i < len; i ++) { int d = vec[i]; }

原创 C++ 流

endl endl 是一個特殊值,稱爲操縱符,將它寫入輸出流時,具有輸出換行的效果,並刷新與設備相關聯的緩衝區。通過刷新緩衝區,用戶可立即看到寫入到流中的輸出。 程序員經常在調試過程中插入輸出語句,這些語句都應該刷新輸出流。忘記

原创 內聯函數

一、什麼叫inline函數? inline(小心,不是online),翻譯成“內聯”或“內嵌”。意指:當編譯器發現某段代碼在調用一個內聯函數時,它不是去調用該函數,而是將該函數的代碼,整段插入到當前位置。這樣做的好處是省去了調

原创 ASCII、ANSI、MBCS、UNICODE字符集

1. 三種計算機字符集 計算機字符集可歸類爲三種,單字節字符集(SBCS)、多字節字符集(MBCS)和寬字符集(即Unicode字符集)。 單字節字符集(SBCS): 單字節字符集,稱之爲SBCS,它的所有字符都只有一個字節的長度

原创 MBCS與Unicode的轉換

Unicode 轉MBCS 1.使用WideCharToMultiByte // 假設已經有了一個Unicode 串 wszSomeString... char szANSIString [MAX_PATH]; WideCha

原创 VC中的字符串

字符串 CHAR 這個類型是最簡單的字符串了,就是一個字節表示一個字符的那種,不過你可別小看它,先弄懂它別的就好說了。接下來我們看看它的兩個”變種” LPSTR 在VC裏頭這個字符串實際上就是CHAR*,注意如果你把它作爲參數傳給

原创 C++中前置聲明的應用與陷阱

前置聲明的使用       有一定C++開發經驗的朋友可能會遇到這樣的場景:兩個類A與B是強耦合關係,類A要引用B的對象,類B也要引用類A的對象。好的,不難,我的第一直覺讓我寫出這樣的代碼: [cpp] view plain

原创 C++命名空間

一、 爲什麼需要命名空間(問題提出)     命名空間是ANSIC++引入的可以由用戶命名的作用域,用來處理程序中常見的同名衝突。    在C語言中定義了3個層次的作用域,即文件(編譯單元)、函數和複合語句。C++又引入了類作用域,

原创 標準庫 vector 類型

標準庫 vector 類型 vector 不是一種數據類型,而只是一個類模板(class template),可用來定義任意多種數據類型。vector 類型的每一種都指定了其保存元素的類型。因此,vector 和 vector 都

原创 在VS中添加lib庫的三種方法

注意: 1、每種方法也要複製相應的DLL文件到相應目錄,或者設定DLL目錄的位置,具體方法爲:”Properties” -> “Configuration Properties” -> “Debugging”,在”Working

原创 C++術語

argument(實參) parameter list(形參表) built-in type(內置類型) curly brace(花括號) manipulator(操縱符) operator(操作符) preproce

原创 Boost.Regex庫在linux上的編譯安裝,使用

1. 什麼是Boost.Regex?  Boost是C++中僅次於STL的一套庫,它的功能比STL更加全面。這裏是Boost的主頁,想了解Boost的朋友可以看一下:http://www.boost.org/doc/libs/1_3