原创 關於記事本[另存爲]時,提示“共用對話框錯誤”的問題

最近的研發中,有一個應用需要打開記事本,有用戶在打開的記事本中進行編輯,然後【另存爲】時,發生了錯誤,提示“共用對話框錯誤”。初次看到這個問題感覺十

原创 讀書筆記:《代碼大全》之不常見數據類型

* 結構體 結構體:是指使用其他類型組建的數據。 通常情況下,我們希望創建類而非結構體,這樣除了能使用結構體可以提供的公用數據外,還能利用類所提供的私密性和功能性。但是,有是直接操縱成塊的數據會十分方便,下面列出了一些使用結構體的理

原创 不穩定的排序算法(二)

快速排序(Quick sort) 快速排序(Quick sort)是對冒泡排序的一種改進。由C. A. R. Hoare在1962年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所

原创 Visual Studio 2008 定位內存泄露簡單方法

剛剛解決了一個內存泄露的問題,是個疑難問題。在網上找了各種方法都沒有效果。最終找到如下方法: 首先確定自己的程序使用的是哪個C運行庫: 方法是程序Propertise -> C/C++ -> Code Generation -

原创 摘錄:類設計者的核查表

題記:摘自C++沉思錄(p37-p44),感覺不錯,分享之。在摘錄的過程中,條目沒有修改,每個條目下的描述有所改動,敬請知曉,另外,轉載請註明出處。 覈查表並不是任務清單。它的用途是幫助你回憶起可能會忘掉的事情,而不是來約束你。如果只

原创 穩定的排序算法(一)

冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort,臺灣譯爲:泡沫排序或氣泡排序)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有

原创 容器vector含有謂詞的排序查找和刪除樣例

題記:使用容器時,經常會使用其進行排序查找和刪除,簡單的sort, find, erase/remove不用多說了,關鍵是使用謂詞時的使用比較麻煩,這裏僅僅列舉了個例子進行保留,以備以後可以直接拿來使用。   樣例代碼: COPY後編譯可

原创 穩定的排序算法(二)

基數排序(radix sort) 基數排序(radix sort)屬於“分配式排序”(distribution sort),基數排序法又稱“桶子法”(bucket sort)或bin sort,顧名思義,它是透過鍵值的部份資訊,將要排序的

原创 讀書摘錄之《重構-改善既有代碼的設計》簡要摘錄

  重構的原則 重構的定義:對軟件內部結構的一種調整,目的是在不改變軟件可觀察行爲的前提下,提高其可理解性,降低其修改成本。也可以說:使用一系列重構手法,在不改變軟件可觀察行爲的前提下,調整其結構。 定義的擴展:第一,重構的目的是使軟件更

原创 不穩定的排序算法(一)

選擇排序(Selection sort) 選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然

原创 Visual Studio 2012使用OpenGL輔助庫的問題解決方案

    這幾天學習OpenGL的開發,由於我使用的參考書是使用Visual Studio C++ 6.0開發的,因此,在錄入樣例並且編譯的時候,遇到了不少問題。今天,遇到了關於輔助庫的問題。     按照參考書進行樣例的錄入,因爲輔助庫貌

原创 C++讀寫二進制文件

    摘要: 使用C++讀寫二進制文件,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。   使用C++操作文件,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,

原创 讀書筆記:《代碼大全》之基本數據類型

* 可以少犯錯誤的使用數的建議 # 避免使用“神祕數值(magic number)” 神祕數值時在程序中出現的並且沒有經過解釋的數值文字量。 如果你使用的編程語言支持具名常量,那麼就用它來代替神祕數值,如果你無法使用具名常量,在可行的

原创 基本的2D圖形變換&變換矩陣推導(轉)

         平時開發程序,免不了要對圖像做各種變換處理。有的時候變換可能比較複雜,比如平移之後又旋轉,旋轉之後又平移,又縮放。直接用公式計算,不但複雜,而且效率低下。這時可以藉助變換矩陣和矩陣乘法,將多個變換合成一個。 最後只要用一

原创 C#調用耗時函數時顯示進度條淺探

最近在做一個VSS日誌分析工具,使用C#進行開發,在完成了所有功能後,發現,從服務器下載VSS日誌非常耗時,因爲此,導致工具使用體驗不好,所以,準備增加一個進度條。 鑑於C#不經常使用,一下子搞個進度條貌似比較難,而且其他的開發任務也在一