Time of Update: 2018-07-26
為什麼有人想要替換operator new 和 operator delete呢。三個常見的理由: 1.用來檢測運用上的錯誤。 如果將“new所的記憶體”delete卻不幸失敗,會導致記憶體流失。如果在“new所得記憶體”身上多次delete會導致不確定行為。如果new持有一串動態分配的所得地址,operator
Time of Update: 2018-07-26
1.歸併排序 時間複雜度O(nlogn) 輔助空間O(n) 穩定void merge_sort(int *A,int x,int y,int *T) //對數組A [x,y)排序 數組T是輔助空間{ if(y-x>=2) //至少有兩個元素才排序 { int m=x+(y-x)/2; //第一步劃分 int p=x,q=m,i=x; merge_sort(A,x,m,T)
Time of Update: 2018-07-26
foreach語句是C#中新增加的迴圈語句,他對於處理數組以及集合等資料類型特別簡便。 例句: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication4 { class Program {
Time of Update: 2018-07-26
windows開發環境下用VC++6.0 對unicode 、utf-8、 gb2312 三種編碼格式之間的轉換方法: #include <iostream>#include <string>#include <Windows.h>using namespace std;void unicodeToUTF8(const wstring &src, string& result){ int n =
Time of Update: 2018-07-26
單鏈表 using System; namespace CS{ /// <summary> /// 結點類 /// 為方便起見,結點資料類型用int表示 /// </summary> public class ListNode { public int data; //ElemType public
Time of Update: 2018-07-26
【C++】用棧實現倒序輸出一個字串(可以帶空格) 思路: 1.用string和getline擷取一行可以帶空格的文本 2.將string轉換為 char* 3.將char*入棧 4.將棧內元素出棧即可實現倒敘輸出 /*獲得一行文本,用棧倒序輸出這行文本*/#include <iostream>#include <stack>//使用標準庫裡面的棧#include <cstring>#include
Time of Update: 2018-07-26
在虛繼承中,虛基類是由最終的衍生類別初始化的,換句話說,最終衍生類別的建構函式必須要調用虛基類的建構函式。對最終的衍生類別來說,虛基類是間接基類,而不是直接基類。這跟普通繼承不同,在普通繼承中,衍生類別建構函式中只能調用直接基類的建構函式,不能調用間接基類的。 下面我們以菱形繼承為例來示範建構函式的調用: #include <iostream> using namespace std;
Time of Update: 2018-07-26
學習靜態類和靜態函數。 這篇部落格的內容來自MSDN,當然內容是我自己看MSDN翻譯出來的。 本文 靜態類和非靜態類其實基本相同。兩者有一處不同:靜態類不能被執行個體化。換句話來說,你不能夠用new去為一個靜態類執行個體出一個對象來。因為靜態類中根本沒有執行個體成員。你只能通過使用類名來訪問靜態類變數。舉一個例子:如果你的靜態類名叫UtilityClass,而這個類中有個方法叫做MethodA,你只能像下面這樣去調用。 UtilityClass.MethodA();
Time of Update: 2018-07-26
在C# 弱事件模式(一)中介紹了弱事件模式是如何工作的,接下來我們介紹弱事件模式是如何在WPF中發揮其強大的作用。 首先,我們實現一個簡單的WPF雙向繫結 代碼: <!-- MainWindow.xaml --> <Window.DataContext> <local:SayHelloViewModel/> </Window.DataContext> <StackPanel>
Time of Update: 2018-07-26
Load:在第一次顯示表單前發生。 <pre name="code" class="csharp"> private void Form1_Load(object sender, EventArgs e) { } Shown:只有在首次顯示表單時才會引發 Shown 事件;隨後執行的最小化、最大化、還原、隱藏、顯示或無效化和重新繪製操作都不會引發該事件。 private void
Time of Update: 2018-07-26
直接在Cpp裡面寫 #include "c.h"引用C標頭檔會在串連的時候出現此類錯誤:cpp.obj : error LNK2001: unresolved external symbol "int __cdecl add(int,int)" ([email=?add@@YAHHH@Z]?add@@YAHHH@Z[/email]), 根本原因在於C++ 和 C在對函數命名方式的不同。 C對函數的命名:
Time of Update: 2018-07-26
類類型隱式轉換 如果建構函式只接受一個實參,則它實際上定義了轉換為此類型的隱式轉換機制,有時我們把這種建構函式稱作轉換建構函式(converting constructor)。即,能通過一個實參調用的建構函式定義了一條從建構函式的參數類型向類類型隱式轉換的規則。這種隱式轉換僅限於一步轉換(即不能連續轉換)。 class A {public:A (char c) {}A (std::string s) {}};
Time of Update: 2018-07-26
寫的不一定對。錯了求指正。 前言 這篇是用C++11 的 thread 做的。 編譯大概是 g++ sort.cpp -O3 -pthread -std=c++14 -o sort 其實還沒學c++14 最近開始學CUDA,感覺線程具體怎麼用和硬體是直接相關的, 不同架構啊不同精度啊使用線程的方式都應該不同。這篇部落格就是個實驗,用CPU實現一下奇偶排序為日後與CUDA做比較
Time of Update: 2018-07-26
//輸入帳號 private void tbUser_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { MessageBox.Show("請輸入密碼", "提示"); this.tbUser.Clear();
Time of Update: 2018-07-26
資料加密解密的原理也很簡單,就是使用異或運算。請先看下面的代碼: #include <stdio.h>#include <stdlib.h>int main(){ char plaintext = 'a'; // 明文 char secretkey = '!'; // 密鑰 char ciphertext = plaintext ^ secretkey; // 密文 char decodetext = ciphertext ^
Time of Update: 2018-07-26
雖然很難找到一本不討論多態性的C++書籍或雜誌,但是,大多數這類討論使多態性和C++虛函數的使用看起來很難。我打算在這篇文章中通過從幾個方面和結合一些例子使讀者理解在C++中的虛函數實現技術。說明一點,寫這篇文章只是想和大家交流學習經驗因為本人學識淺薄,難免有一些錯誤和不足,希望大家批評和指正,在此深表感謝。 在類中,如果什麼都沒有,則類佔用1個位元組,一旦類中有其他的佔用空間成員,則這1個位元組就不在計算之內,如一個類只有一個int則佔用4位元組而不是5位元組。
Time of Update: 2018-07-26
C++中的虛函數(一)作者:aber 雖然很難找到一本不討論多態性的C++書籍或雜誌,但是,大多數這類討論使多態性和C++虛函數的使用看起來很難。我打算在這篇文章中通過從幾個方面和結合一些例子使讀者理解在C++中的虛函數實現技術。說明一點,寫這篇文章只是想和大家交流學習經驗因為本人學識淺薄,難免有一些錯誤和不足,希望大家批評和指正,在此深表感謝。 一、 基本概念
Time of Update: 2018-07-26
C++中Switch語句的判別式必須是一個結果為整數值的運算式,每個標籤必須是整數常量運算式(int或者char)。 很多時候,我們需要處理非整數常量運算式,這個時候可以使用枚舉變數來間接完成。 樣本程式如下: #include <iostream>enum {red, orange, yellow, green};int main(){ using namespace std; int code; cin >> code; while (code &
Time of Update: 2018-07-26
http://blog.sina.com.cn/s/blog_6a5b2e450100kpav.html /擷取"程式安裝路徑或程式運行當前路徑" TheInstallPath = Application.StartupPath;
Time of Update: 2018-07-26
參考http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 引入命名空間: using Microsoft;using Microsoft.Win32; 寫註冊表: RegistryKey key = Registry.LocalMachine;