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
從使用者的角度來說,當程式出現異常時只要有給點簡單的提示就行.但從開發人員的角度來說就需要非常詳細的資訊,這對追蹤Bug很有用.異常相關的詳細資料可以記錄到記錄檔中.這樣你自己測試時比較方便點,而且做使用者支援時也方便,如果使用者碰到啥問題要他們把錯誤記錄檔發過來就行.異常處理語句通常的形式一般如下:try{ //some code}catch(Exception
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
文章目錄 Break表示退出當前迴圈.return 表示整個函數的結束,它後面的語句不再執行. Break表示退出當前迴圈.return 表示整個函數的結束,它後面的語句不再執行.例如1.在switch中使用breakpublic void FunTest{int a = 1; switch (a) { case 1:
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
類Match ,MatchCollection 我們通過某個條件去匹配字串時,有時會得到幾個合格子字串.如果只想要第一次匹配到的子字串就用函數Regex.Match().這個函數的傳回型別是Match.我們通過Match.Value就可以得到子字串的值.如果要想得到所以合格子字串就用函數Regex.Matchs().這個函數的傳回型別是MatchCollection.它是Match的一個集合類.舉個簡單的例子說下吧.string str = "csdn.net/weiwenhp/jameshp"
Time of Update: 2018-12-04
二叉排序樹(Binary Sort Tree)又稱二叉尋找樹,它的特點是:(1)若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;(2)若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值; (3)左、右子樹也分別為二叉排序樹; 但你看到定義可能會奇怪,如果出現相等元素咋整啊.這裡我們就假設右子樹的結點值大於或等於根結點得了.在這裡我們實現二叉樹的如下簡易功能:(二叉樹結點類為BTreeNode<T>)void Insert(T val);
Time of Update: 2018-12-04
假如有伺服器端程式,ChatServer和用戶端程式ChatClient.實現用戶端向伺服器端發送資訊的簡易功能.運行步驟,1.先是伺服器端start listen,2.然後用戶端connect.3.用戶端發送訊息 只要伺服器端start listen了,然後用戶端也connect了.這樣建立起串連後.接受發送資訊就方便了,只要用writer,reader去操作NetworkStream 伺服器ChatServer建立一個WinForm頁面引用命名空間:using
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
我們有些程式是可以同時運行多個進程,典型的像Visual
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
Time of Update: 2018-12-04
/*功能,C++ public,protected,private日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8669874*/#include <iostream>using std::cout; using std::endl;template<typename T> void ok(T) {}class A{// public