Time of Update: 2018-07-25
[HKEY_CLASSES_ROOT\.egs] 在[HKEY_CLASSES_ROOT\EGSMain\Shell\Open\Command]建立一個索引值如下 string strExtension = ".egs"; string strProject = "EGSMain";
Time of Update: 2018-07-25
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);if( find(v.begin(), v.end(), 1) == v.end()){cout << "no1"
Time of Update: 2018-07-25
第14章 重載操作符與轉換 1 重載操作符必須具有至少一個類類型或枚舉類型的運算元。這條規則強制重載操作符不能重新定義用於內建類型對象的操作符的含義 2 操作符重載成成員函數還是普通非成員函數的一些指導原則: a) &
Time of Update: 2018-07-25
一、二叉樹 1、用遞迴方法實現二叉樹的先序、中序、後序遍曆 class TreeToSequence { public : void preOrder(TreeNode* root,vector<
Time of Update: 2018-07-25
底層的開發一般都是用C語言,這就涉及到記憶體的管理,指標的申請和釋放。<?xml:namespace prefix = o /> 最近使用了一個雙緩衝隊列,結果在釋放的時候,出現異常。記憶體的分配使用的是malloc,對應的釋放使用free,感覺沒有問題。 在網上尋找可能原因時有兩個原因我覺得最為接近: <!--[if !supportLists]-->1. <!-
Time of Update: 2018-07-25
快速排序是分而治之法的一種排序方法,快速排序將n個元素分為三段。left段,right段和middle段,中間僅有一個元素。我叫做關索引值。左邊的元素都不大於中間段,右邊的元素都不小於中間段。因此可以對left與right段進行單獨的排序。 完整代碼實現如下: #include<iostream> using namespace std;void quickSort(int array[],int X,int Y) //X,Y分別是數組的起始下標{
Time of Update: 2018-07-25
宏定義是C提供的三種預先處理功能的其中一種,這三種預先處理包括:宏定義、檔案包含、條件編譯 宏定義又稱為宏代換、宏替換,簡稱“宏”。 格式:#define 標識符 字串 其中的標識符就是所謂的符號常量,也稱為“宏名”。 預先處理(先行編譯)工作也叫做宏展開:將宏名替換為字串。 掌握"宏"概念的關鍵是“換”。一切以換為前提、做任何事情之前先要換,準確理解之前就要“換”。 即在對相關命令或語句的含義和功能作具體分析之前就要換: 例:#define PI 3.1415926
Time of Update: 2018-07-25
說在前面的廢話 話說快一年沒寫過部落格了。。。 在建站之前就先用csdn寫吧 這次要說的東西也沒有啥,主要是想寫一次快排(學了這麼就快排都沒寫過你敢信 用法類似於stl裡面的sort,有兩個版本。 不知道為什麼寫了很長時間。。。這麼短的代碼 還是感覺數組版的好寫一點 學過快排的同學可以不用看下面這段了 快排的基本思想 1.選取一個基準 2.將比它”小”的放在它前面,比他“大”的放在後面(廣義的小和大) 3.遞迴處理前面那一段和後面那一段 實現步驟
Time of Update: 2018-07-25
C++的類成員如果有Virtual修飾符,則在執行個體化後的對象中會形成一個叫做VTBL(虛擬表)的東西,另外藉助C++內在的滯後綁定功能實現所謂的多態性。下面,我藉助C代碼來大概示範下VTBL的實現原理,僅供參考。 //類比VTBL,實際為一套函數集合 Struct SampleVtbl { void func() {} } //類比帶Virtual成員的類 Struct SampleClass { SampleVtbl *pVtbl; }
Time of Update: 2018-07-25
當我們在用C++做底層驅動的時候,經常會遇到記憶體不足的警告,究其原因,往往是因為記憶體出現溢出,泄露或者越界等原因。那麼他們之間有什麼聯絡嗎。 記憶體溢出(out of memory) 是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用。 記憶體流失(memory leak) 是指程式在申請記憶體後,無法釋放已申請的記憶體空間,佔用有用記憶體。 註:記憶體流失最終會導致記憶體溢出
Time of Update: 2018-07-25
5 實現
Time of Update: 2018-07-25
Effective C++ 改善程式與設計的55個具體做法 讓自己習慣C++ 條款01:視C++為一個語言聯邦 條款02:盡量以const,enum,inline替換#define 條款03:
Time of Update: 2018-07-25
條款32:確定你的pubilc繼承塑模出is-a關係 Make sure public inheritance models “is-a” – C++進行(OOP)物件導向編程,最重要的一個規則是:public
Time of Update: 2018-07-25
隨著C++11標準的出現,C++標準添加了許多有用的特性,C++代碼的寫法也有比較多的變化。vector是經常要使用到的std組件,對於vector的遍曆,本文羅列了若干種寫法。 假設有這樣的一個vector: vector<int> valList = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 需要輸出這個vector中的每個元素,原型如下: void ShowVec(const vector<int>& valList){
Time of Update: 2018-07-25
4 設計與聲明 • 軟體設計,是“令軟體做出你希望它做的事情”的步驟和做法,通常以頗為一般性的構想開始,最終演變成十足的細節,以允許特殊介面(interface)的開發,這些介面而後必須轉換為C++聲明式。 條款18:讓介面容易被正確使用,不易被誤用 Makeinterfaces easy to use correctly and
Time of Update: 2018-07-25
使用iterator 遍曆時,刪除其中一個出了問題,結果是刪除了一個以後 不能再用自增了 c++ vector遍曆刪除元素 一直對vector的刪除操作不太熟悉,現整理下。其中前三部分先補充一些相關知識,然後第四部分給出範例程式碼。 一、關於Vector的earse方法 iterator erase ( iterator position );iterator erase ( iterator first,
Time of Update: 2018-07-25
首先 需要有#include<iomanip>這個標頭檔,因為它是輸入輸出資料流的格式控制 其次例如 double sum=10; cout<<setiosflags(ios::fixed)<<setprecision(1)<<sum; 其中setiosflags(ios::fixed)不要寫錯
Time of Update: 2018-07-25
1、取字串的前i個字元 (1)string str1=str.Substring(0,i); (2)string str1=str.Remove(i,str.Length-i); 2、去掉字串的前i個字元 string str1=str.Remove(0,i); string str1=str.SubString(i); 3、從右邊開始取i個字元: string str1=str.SubString(str.Length-i);
Time of Update: 2018-07-25
經過幾個月的漫長等待,《C語言從入門到精通》終於在電子工業出版社出版,心裡的石頭終於落了地。 這本書內容全面,講解細緻,自己也在這本書上付出了很大的心血,希望能得到更多讀者的歡迎,也希望大家能多提意見。 在這裡也非常感謝編輯,感謝希望圖書工作室,感謝電子工業,沒有他們的辛苦勞動,就沒有今天的成績,謝謝。 http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=10114096
Time of Update: 2018-07-25
#include <iostream>#include <string.h>using namespace std;int main(){ char a = -1; unsigned char b = 255; printf("a = 0x%x b = 0x%x \n", a, b); system("pause");