Time of Update: 2018-12-04
由於C#Managed 程式碼中是沒有指標的,所以當要把一個函數做為一個參數傳給另外一個函數時,用正常方法就沒辦法了,由於就弄出了個代理(Delegate),當然C#中的代理也只是類似函數指標,它除了能實現函數指標的功能外還有其他一些特性.先來說下C++中的函數指標:void PrintNum(int num) { cout<<num;} //一個列印數位簡單函數void (*FunPtr)(int);
Time of Update: 2018-12-04
DES(Data Encryption
Time of Update: 2018-12-04
平時碰到分支條件判斷最常用的是if else語句,不過有時要是分支條件太多用switch就更直觀,方便一點.先舉兩個簡單的例子.C++:int num = 2;switch(num){case 1:cout<<"one";break;case 2:cout<<"two";break;case 3:cout<<"three";break; //break可省略default:cout<<"default";break;
Time of Update: 2018-12-04
一說到物件導向我們馬上會想到封閉,繼承,多態.而封裝性的具體體現最容易想到的是屬性,把欄位設成private,然後弄一個public的屬性,使用get,set去訪問,賦值.其實比較令人費解的索引器也跟屬性一樣是體現封裝性.class IndexTest { //private int num; //public int Num //{get;set;} private int[] array = new int[3];
Time of Update: 2018-12-04
const 常量1.它可以用來修飾類的欄位或局部變數.const修飾的變數只能是實值型別,不能是參考型別.其實準確的說它也能修飾參考型別,只是參考型別只能為null,不能執行個體化.那這樣的引用變數也等於沒啥用處的啊.比如const int[] array = {1,2,3}是錯的.不過const int[] array = null;是對的2.在聲明時要賦值,賦值以後不能再改.它修飾的變數的值是在編譯的時候就確定了.const int a = 4; 是對的.const int
Time of Update: 2018-12-04
注釋 任何程式語言都會有注釋.不然很多代碼不容易看懂啊.像Regex這種運算式如果來個幾千行,沒一點注釋,你想不看得吐血都難啊.注釋的格式是(?#comment)其中comment就表示注釋的內容比如abc[\d(?#this means digit)]*
Time of Update: 2018-12-04
我們知道C#開發效率是非常高的,特別是做一些漂亮的頁面就更適合用它了啊.如果你開發一個傳統型應用程式即想效能好點又想頁面漂亮點可以考慮用C++和C#一起用.反正現在Win7都整合NetFramework了,就不用糾結為了裝個C#的應用程式而去再整個NetFramework裝上.可以用C#做成com組件,然後C++去調用.反過來也行.可以C++做成com,然後C#來調用.下面我舉個簡單的小例子.我用的是VS 2008,作業系統是Win 7. 首先建立一個C# com組件.實現的功能很簡單,
Time of Update: 2018-12-04
看到平衡組,遞迴匹配這樣的太充滿術語性的名詞又要頭大了啊.其實簡單點講就是怎麼去匹配那些互相匹配並且互相嵌套的字元對.比如(),[],{}這樣的配對的括弧.如果你寫代碼時某個函數很長很長,那些嵌套的{}會把你搞暈了,不知道哪個配哪個了啊.那編譯時間人家編譯器怎麼知道呢.它就是通過類似平衡組的理論去識別.還有html,xml裡面會有一堆<>這樣的角括弧,如果不知道怎麼去匹配配對的<>那肯定就亂套了.這裡同樣也用到平衡組類似的理論先來講點C#棧(Stack)的知識那怎麼才能去
Time of Update: 2018-12-04
excel的公式忘掉了;想做一個輸入一個數 連續列印五次結果 每次結果 *1.25 還要四捨五入; 於是寫個小程式,我以為2分鐘 連帶測試就搞定了,結果折騰了近半小時,還是眼高手低啊; 其實原因很簡單,就是 *1.25後的值 需要每次判斷 四捨五入後 取整,然後在繼續下一次迴圈; 貼代碼;別的不多說了……#include"iostream"using namespace std;int main(){ float i = 0; int j=1; cout
Time of Update: 2018-12-04
文章目錄 先來說下C#中的資料類型.分實值型別和參考型別兩大類.
Time of Update: 2018-12-04
剛接觸Regex時可能會覺得很暈乎.其實它的作用是很簡單的,只不過實現的細節方面有些複雜.Regex是用來解析字串的.而解析字串不外乎是達到下面幾種目的 1.驗證某一長串字串中是否有符合某個條件的子字串2.從長字串中提取符合某個條件的子字串3.把合格子字串替換成另外的字串4.把一個字串分割成幾個小字串 Regex的複雜主要是體現在怎麼指定那個"條件".其實實現上面說的4個目的大部分時候用string類的一些函數也照樣能實現.只不過有時太複雜了點下面舉幾個簡單的例子說下怎麼實現上面的4個目的.使用
Time of Update: 2018-12-04
文章目錄 Classes例子1例子2 在命名空間RegularExpressions裡有下面這些對象,10個類,一個代理,一個枚舉類型Classes ClassDescriptionCapture Represents the results from a single subexpression capture. Capture represents one substring for a single successful
Time of Update: 2018-12-04
二叉排序樹(Binary Sort Tree)又稱二叉尋找樹,它的特點是:(1)若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;(2)若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值; (3)左、右子樹也分別為二叉排序樹; 但你看到定義可能會奇怪,如果出現相等元素咋整啊.這裡我們就假設右子樹的結點值大於或等於根結點得了.在這裡我們實現二叉樹的如下簡易功能:(二叉樹結點類為BTreeNode<T>)void Insert(T val);
Time of Update: 2018-12-04
/*goal, C++程式崩潰的情況有哪些?面試時被問到這個問題。我現在想到了下面一些情況,並測試了一下。我想應該還有其他情況吧,有興趣的同學可以留言補充。date, 2013-3-10env, ubuntu1204-gccblog, http://blog.csdn.net/shunqiziranhao007/article/details/8635196*/#include <iostream>using std::cout; using std::endl;#include &
Time of Update: 2018-12-04
/*功能,C++ virtual。面試常問道,建構函式和解構函式能否為虛函數,為什嗎?以前部落格裡寫過了,先不寫了。日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8670238*/#include <iostream>using std::cout; using std::endl;#define P1 cout <<
Time of Update: 2018-12-04
/*功能,C++ inline。可以用來取代宏定義的函數。聲明定義內嵌函式,提示編譯時間內聯——將所調用的代碼嵌入到主調函數中。注意是否內聯取決於實現——編譯器有權不實際內聯,如果它認為這是必要的或更符合預期的目標代碼品質。日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8670253*/#include <iostream>using
Time of Update: 2018-12-04
我們有些程式是可以同時運行多個進程,典型的像Visual
Time of Update: 2018-12-04
C++沉思錄V2cn學習小結 ———— 部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8693724 日期,2013年3月19日 ———— 2013年3月19日 ———— 這本書寫得真不錯,讓我接觸了好多電腦技術和思想。這本書我要多看幾遍,要好好體會裡面的思想。 ———— 序言 ———— p1——那些書所關注的是語言本身,而不是如何應用這種語言。編程工作中最困難的部分並不是去學習語言細節,而是理解問題的解決之道。
Time of Update: 2018-12-04
/*功能,C++ static日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8667985*/#include <iostream>using std::cout; using std::endl;#define P1 cout << endl;#define P2(X) cout << X;#define P3(X) cout
Time of Update: 2018-12-04
/*功能,C++ friend,聲明友元,使其不受存取權限控制的限制。友元允許別人訪問類的 private 和 protected