Time of Update: 2018-12-06
不對稱式加密 對稱式加密的缺點是雙方使用相同的密鑰和IV進行加密、解密。由於接收方必須知道密鑰和IV才能解密資料,因此發送方需要先將密鑰和IV傳遞給接收方。這就有一個問題,如果攻擊者截獲了密鑰和IV,也就等於知道了如何解密資料!如何保證發送方傳遞給接收方的密鑰和IV不被攻擊者截獲並破譯呢?不對稱式加密也叫公開金鑰加密,這種技術使用不同的加密金鑰與解密密鑰,是一種“由已知加密金鑰推匯出解密密鑰在計算上是不可行的”密碼體制。不對稱式加密產生的主要原因有兩個,一是對稱式加密的密鑰分配問題,另一個是由於
Time of Update: 2018-12-06
物件導向的核心:封裝、繼承、多態。其中多態又分為編譯時間多態和運行時多態。 編譯時間多態(靜態聯編):利用函數重載實現 運行時多態(動態聯編):利用虛函數實現虛函數就是被關鍵字virtual修飾的類成員函數,它是動態聯編的核心。 1. 虛函數只能是類的成員函數,並且在發生類的繼承時發生作用,普通函數不能用virtual修飾。 2. 虛函數不能是static的,虛函數決定了多態,它是屬於對象的,不能是唯一的。 3.
Time of Update: 2018-12-06
前幾天轉載一篇quora上的文章,但是英文的,我還是覺得有必要將這篇文章翻譯一下,希望更多的人能夠看到C++是一門複雜的語言成為專業級c++程式員的路線:步驟0:理解c++語言 必須去讀Stroustrup的《The C++ Programming Language》,這個是必經的道路步驟1:瞭解c++曆史,理解c++的特性是怎樣被設計出來的 去讀Stroustrup的《The Design and Evolution of
Time of Update: 2018-12-06
我這裡實現全排列的基本演算法如下(C++): 1 #include <algorithm> 2 #include <iostream> 3 #include <vector> 4 5 void perm(std::vector<int>& v, int pos = 0) 6 { 7 if (pos == v.size()) { 8 for (int i = 0; i < v.size(); ++i) { 9
Time of Update: 2018-12-06
最近裝了VS11Beta,才關注有關WinRT的資訊。C++這次又被微軟“擴充”了,新名字叫C++/CX。C++/CLI是微軟為了讓C++代碼能夠在.Net上運行所做的嘗試(誰還記得Managed C++),C++/CX是為了讓C++程式員能在WinRT上“輕鬆”地一展身手所做的擴充。現在C++/CX的資料非常少,Google上搜尋一下,頭條就是Inside the C++/CX Design,是微軟Visual C++團隊的一個哥們寫的。看他的照片,一臉苦逼樣,就知道他被C++折磨得非常不爽。
Time of Update: 2018-12-06
今天工作因原因,需要實現一個split的功能,以前也做過,但一直沒有把他記下來,所以又重新寫了一次。這次做個筆記以備後用,各位網友感興趣也可以直接拿來用過。例子: 一個這樣的字串:“123,456,789,0”。把他截取成這樣的字串數組 [123],[456],[789],[0]。眾所周知c++預設沒有提供這樣功能的函數,下面我們自己來實現它不多說直接上代碼: 代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
QuickSortCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public static void QuickSort(int[] array, int left, int right) { do { int a = left; int b = right;
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
template< class C >class TComList : public std::list< C >{public: typedef typename std::list<C>::iterator TComIterator; TComList& operator += ( const TComList& rcTComList) { if( ! rcTComList.empty() ) {
Time of Update: 2018-12-06
客戶帶來一個虛擬機器,結果C盤分了126GB。如所示:用CSUpload上傳,會出現“TheVHDs logical size of 130048MB exceeds the system maximum of 66560MB”.錯誤。解決辦法:收縮C盤空間具體步驟: 1. Shut down theVM.2. Copy VHD fileto your machine from where you will be performing
Time of Update: 2018-12-06
protected void Page_Load(object sender, EventArgs e) { HttpCookie cookies = Request.Cookies["platform"]; //判斷是否有cookie值,有的話就讀取出來 if (cookies != null && cookies.HasKeys) {
Time of Update: 2018-12-06
昨天看三層架構 (具體沒怎麼弄懂) 發現一般有一頁代碼專門使用者存放欄位的 而且都用用屬性封裝..令我詫異的是 很多欄位屬性都存在 get{}和set{} 和普通的變數沒什麼區別(可讀可寫) 我就感覺屬性就是給欄位一個多的選擇方式,有的欄位是不允許更改的.. 部落格園一查,還真的漲見識了剛寫程式時總覺得一個欄位就能滿足要求,何必要使用定義起來麻煩的屬性 要get、set的去定義,代碼量還大,真不知道他們的區別和優點 例:public class myclass { public
Time of Update: 2018-12-06
C# codeSqlCommand sqlCmd = new SqlCommand();sqlCmd.Connection = sqlCnn;sqlCmd.Transaction = sqlCnn.BeginTransaction(); //完成交易處理的前期準備工作try{//將使用者註冊的資料寫入資料庫string sqlCmd1 = "insert into User_Login (user_id,user_pwd) values('" + User_ID + "','" +
Time of Update: 2018-12-06
1. 以下三條輸出語句分別輸出什嗎?Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char*
Time of Update: 2018-12-06
C# 自訂使用者控制項xiongxuanwen 上篇:控制項製作 本例是製作一個簡單的自訂控制項,然後用一個簡單的測試程式,對於初學者來說,本例子比較簡單,只能起到拋石引玉的效果。我也是在學習當中,今後會將自己所學的逐步寫出來和大家交流共用。 第一步:建立一個控制項陳列庫項目:myControl 第二步:從工具箱裡面拖動1個PictureBox、1個Button、6個Lable控制項到使用者介面上,布局如下:
Time of Update: 2018-12-06
//以單詞為單位對字串進行翻轉,先按照字母進行翻轉,然後按照單詞進行翻轉 string str1 = "12345 67890"; string str2 = ""; string str3 = ""; for (int o = str1.Length - 1; o >= 0; o--) str2 += str1[o];//按字母翻轉
Time of Update: 2018-12-06
我們知道,用C++開發的時候,用來做基類的類的解構函式一般都是虛函數。可是,為什麼要這樣做呢?下面用一個小例子來說明: 有下面的兩個類:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout << "Do something in class ClxBase!" << endl; };};class
Time of Update: 2018-12-06
實現序列化的類必須滿足下列條件:1. 該類需要從CObject類派生(可以是間接派生);2. 在類中中進行DECLARE_SERIAL宏定義;3. 類存在有預設的建構函式;4. 類中實現了Serialize()函數,並且在其中調用基類的序列化函數;5. 使用IMPLEMENT_SERIAL宏指明類名及版本號碼;C/C++ code.hstruct Node { int index; std::vector <int> num; } class
Time of Update: 2018-12-06
單例模式是為了確保一個類中只有一個執行個體被建立,並提供對該執行個體的全域訪問指標廢話不說,上代碼 Singletonpublic sealed class Signton {public static Signton singn = null;private static readonly object padlock = new object();private Signton() { }public static Signton Instance
Time of Update: 2018-12-06
這篇文章,我們來討論圖的相關知識。一、究竟什麼圖裝結構了,所謂的圖是圖狀結構簡稱圖,是另一種非線性結構,它比樹形結構更複雜。樹形結構中的結點是一對多的關係,結點間具有明顯的層次和分支關係。每一層的結點可以和下一層的多個結點相關,但只能和上一層的一個結點相關。而圖中的頂點(把圖中的資料元素稱為頂點)是多對多的關係,即頂點間的關係是任意的,圖中任意兩個頂點之間都可能相關。也就是說,圖的頂點之間無明顯的層次關係,這種關係在現實世界中大量存在。因此,圖的應用相當廣泛,在自然科學、社會科學和人文科學等許多