Time of Update: 2018-12-06
本文,我們將介紹一種利用模板匹配來實作類別型甄別的技術。首先,類型是數值的抽象,那麼我們從最簡單的編譯期數值甄別開始看,如果你寫下了下面這樣一段代碼: 1 int main() 2 { 3 int i = 10; 4 i++; 5 bool b = i > 0 ? true:false; 6 if(b){ 7 cout<<"TRUE"<<endl; 8 }else{ 9 cout<<
Time of Update: 2018-12-06
第3章 命名規則比較著名的命名規則當推Microsoft公司的“匈牙利”法,該命名規則的主要思想是“在變數和函數名中加入首碼以增進人們對程式的理解”。例如所有的字元變數均以ch為首碼,若是指標變數則追加首碼p。如果一個變數由ppch開頭,則表明它是指向字元指標的指標。“匈牙利”法最大的缺點是煩瑣,例如int i, j, k; float x, y, z;倘若採用“匈牙利”命名規則,則應當寫成int iI, iJ, ik; // 首碼
Time of Update: 2018-12-06
using System; namespace SelectionSorter { public class SelectionSorter { private int min; public void Sort(int [] list) { for(int i=0;i<list.Length-1;i++) {
Time of Update: 2018-12-06
第10章 類的繼承與組合 對象(Object)是類(Class)的一個執行個體(Instance)。如果將對象比作房子,那麼類就是房子的設計圖紙。所以物件導向設計的重點是類的設計,而不是對象的設計。對於C++程式而言,設計孤立的類是比較容易的,難的是正確設計基類及其衍生類別。本章僅僅論述“繼承”(Inheritance)和“組合”(Composition)的概念。注意,當前物件導向技術的應用熱點是COM和CORBA,這些內容超出了C++教材的範疇,請閱讀COM和CORBA相關論著。10.1
Time of Update: 2018-12-06
第11章 其它編程經驗11.1 使用const提高函數的健壯性看到const關鍵字,C++程式員首先想到的可能是const常量。這可不是良好的條件反射。如果只知道用const定義常量,那麼相當於把火藥僅用於製作鞭炮。const更大的魅力是它可以修飾函數的參數、傳回值,甚至函數的定義體。const是constant的縮寫,“恒定不變”的意思。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。所以很多C++程式設計書籍建議:“Use const whenever
Time of Update: 2018-12-06
C++記憶體配置秘籍—new,malloc,GlobalAlloc詳解 _______只為因記憶體配置而無法入眠的程式員一。關於記憶體 1、記憶體配置方式 記憶體配置方式有三種: (1)從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數,static變數。
Time of Update: 2018-12-06
不太清楚微軟為啥給泛型List提供了Distinct擴充, 卻非要傳遞一個Compare型的參數, 為啥不是一個委託呢?好麻煩啊, 只能實現那個介面...代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
不對稱式加密 對稱式加密的缺點是雙方使用相同的密鑰和IV進行加密、解密。由於接收方必須知道密鑰和IV才能解密資料,因此發送方需要先將密鑰和IV傳遞給接收方。這就有一個問題,如果攻擊者截獲了密鑰和IV,也就等於知道了如何解密資料!如何保證發送方傳遞給接收方的密鑰和IV不被攻擊者截獲並破譯呢?不對稱式加密也叫公開金鑰加密,這種技術使用不同的加密金鑰與解密密鑰,是一種“由已知加密金鑰推匯出解密密鑰在計算上是不可行的”密碼體制。不對稱式加密產生的主要原因有兩個,一是對稱式加密的密鑰分配問題,另一個是由於
Time of Update: 2018-12-06
線程同步這一方面,因為相對來說用得比較少,每次做多線程相關的問題是都必須重新溫習,今天在看非同步TCP時,又重新梳理了下。多線程同步大概有兩類:一類是訊號量,另一類是互斥,排他1.訊號量: 執行個體代碼如: class Program { private int n1, n2, n3; EventWaitHandle myEventWaitHandle = new EventWaitHandle(false,
Time of Update: 2018-12-06
1. 前言
Time of Update: 2018-12-06
第5章 指標、數組和結構 1.零。由於各種標準轉換,0可以被用作任意整型、浮點類型、指標、還有指向成員的指標的常量。0的類型將由上下文確定。在典型情況下0被表示為一個適當大小的全零二進位位的模式(但也不必如此)。...... 在C中流行的是用一個NULL表示0指標。由於C++收緊的類型檢查規則,採用普通的0而不是一些人建議的NULL宏,帶來的問題會更少一些。如果你感到必須定義NULL,請採用 const int
Time of Update: 2018-12-06
我還沒有研讀《CLR Via C#》之類的專著,只是心裡有了疑問,然後就去個人探究,下文多為猜想。更希望瞭解內幕的朋友告知C#後台真相。 我自個兒琢磨出來的結論:形如 1 // 原始聲明 2 struct People : IFormattable 3 { 4 public string ToString(string format, IFormatProvider formatProvider) 5 { 6 return ToString(); 7
Time of Update: 2018-12-06
這是List<T>.Sort的委託版本實現:1 class List<T>2 {3 ...4 5 public void Sort(Comparison<T> comparison)6 {7 if (comparison == null)8 {9 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match);10 }11 if (this._size > 0)12 {13
Time of Update: 2018-12-06
1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 char ch1 = 'A'; 6 cout<<"ch1 = "<<ch1<<endl; 7 8 char ch2 = '中'; 9 cout<<"ch2 = "<<ch2<<endl;10 11 wchar_t ch3 = '中';12
Time of Update: 2018-12-06
參見文章http://www.cnblogs.com/cbscan/articles/2047269.html總結,在滿足二進位相容這個前提下匯出基於對象的庫介面:方式使用便捷性介面聲明可讀性效能C函數差好好C++純虛函數好差好C++非虛函數,PIML實現好好差其實三種方案都是通過查表取得函數的,1、3查引入表,2查虛函數表,只是預設情況下,一個聲明在介面函數集中間的新函數,不會改變舊引入表(這個行為是從那篇文章中推斷出來的)卻一定會改變虛表,所以方案1、3大可以將新函數隨便放置不會破壞二進位相
Time of Update: 2018-12-06
題目:已知有如下string對象:string line1 = "We were her pride of 10 she named us:"; string line2 = "Benjamin, Phoenix, the Prodigal"; string line3 = "and perspicacious pacific Suzanne";string sentence = line1+' '+line2+'
Time of Update: 2018-12-06
C#:{TextBlock A = new TextBlock();A.Text = "111";A.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));Txt.Children.Add(A);A = null;TextBlock B = new TextBlock();B.Text = "222";B.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 25
Time of Update: 2018-12-06
// program.cs// PerfTimer 及 測試程式CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
本文介紹利用Linux下的C語言Socket函數建立TCP串連,相容C++。 利用TCP串連,可以進行HTTP、FTP等常見協議的資訊傳輸,是Linux網路編程的重要部分。需要引用的標頭檔進行網路編程,通常需要引用如下標頭檔 #include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include
Time of Update: 2018-12-06
C# 自訂使用者控制項xiongxuanwen 上篇:控制項製作 本例是製作一個簡單的自訂控制項,然後用一個簡單的測試程式,對於初學者來說,本例子比較簡單,只能起到拋石引玉的效果。我也是在學習當中,今後會將自己所學的逐步寫出來和大家交流共用。 第一步:建立一個控制項陳列庫項目:myControl 第二步:從工具箱裡面拖動1個PictureBox、1個Button、6個Lable控制項到使用者介面上,布局如下: