Time of Update: 2015-06-24
標籤:delete new 成對使用new和delete時要採取相同形式本節條款知識點在於delete和delete[]的區別 大家都知道在new一個對象的時候要delete一個對象,在new 一個對象數組時要delete[]才是正確的。大家也知道new產生兩個行為,一個是申請對象所需記憶體,另一個是調用類建構函式初始化對象。
Time of Update: 2015-06-24
標籤:以獨立語句將newed對象置入智能指標本節我們需要學習的知識核心是注意編譯器在同一語句中,調用次序具有不確定性,不同語句中,調用次序確定。 上面的話什麼意思? 請看以下代碼:int priority();int processWidget(shared_ptr<Widget> pw, int priority);processWidget(shared_prt<Widget> pw(new Widget), priority());以上代碼執行三個行為,分別是 1、
Time of Update: 2015-06-24
標籤:遞迴 資料 c 函數調用通常,當一個函數運行期間調用另一個函數時,在運行被調函數之前,系統需要完成3件事:(1)將所有的實參,返回地址(個人理解是調用被調函數時的下一個語句的地址)等資訊傳遞給被調函數儲存。(2)為被調函數的局部變數分配儲存空間。(3)將控制轉移到被調函數入口。從被調函數返回調用函數之前,系統完成3件事:(1)儲存被調函數的計算結果。(2)釋放被調函數的資料區。(3)依照被
Time of Update: 2015-06-24
標籤:dynamic c cast 前言Android的Framework層源碼中有很多強制類型轉換函式的調用。寫慣了C代碼的人一般都習慣下面這種強制轉換方式:double a = 89;int b =
Time of Update: 2015-06-24
標籤:一、預設狀態下const對象僅在檔案內有效,可以使用extern關鍵字設定所有檔案都可以訪問。二、對常量的引用:const int ci = 1024; const int &r = ci;三、臨時量(臨時量對象):當編譯器需要一個空間來儲存運算式的求值結果時臨時建立的一個未命名物件;四、指向常量的指標: 1、const double a = 0.6; const double *p = &a; 2、double b = 0.5; const double
Time of Update: 2015-06-24
標籤: 前言: Eigen 是一個線性算術的C++模板庫,包括:vectors, matrices, 開源以及相關演算法。功能強大、快速、優雅以及支援多平台,可以使用該庫來方便處理一些矩陣的操作,達到類似matlab那樣的快捷。現在已經發展到Eigen3了,目前最新版本為Eigen
Time of Update: 2015-06-24
標籤:1)標頭檔 game.h#ifndef GAME_H#define GAME_H// base classclass CCreature {protected: int m_nLifePower, m_nPower;public: virtual void Attack(CCreature *pCreature){} virtual void Hurted(int nPower){} virtual void FightBack(CCreature
Time of Update: 2015-06-24
標籤:這三個函數的功能是一致的,都用於擷取檔案相關資訊,但應用於不同的檔案對象。對於函數中給出pathname參數,stat函數返回與此命名檔案有關的資訊結構,fstat函數擷取已在描述符fields上開啟檔案的有關資訊,lstat函數類似於stat但是當命名的檔案是一個符號連結時,lstat返回該符號連結的有關資訊,而不是由該符號連結引用檔案的資訊。第二個參數buf是指標,它指向一個用於儲存檔案描述資訊的結構,由函數填寫結構內容。該結構的實際定義可能隨實現有所不同.用法:#includeint
Time of Update: 2015-06-24
標籤:在資源管理員中小心copying行為上節是對資源的管理說明,有時候我們不能依賴於shared_ptr或者auto_ptr,所以我們需要自己建立一個資源管理類來管理自己的資源。例如建立一個類來管理Mutex鎖,現在使用函數處理類型為Mutex的互斥器對象class Lock{public: explicit Lock(Mutex* mu):mutexPtr(mu) { lock(mutexPtr); } ~Lock() {
Time of Update: 2015-06-24
標籤:在資源管理類中提供對原始資源的訪問前面兩節都在討論如何管理資源,一般情況下,使用資源管理類來屏蔽原始資源,對抗記憶體泄露等問題,避免使用原始資源。這樣我們就無法直接存取原本的原始資源。畢竟程式在有些時候是需要操縱原始資源的,許多APIs要求使用原始資源。為了能操縱原始資源,我們要怎麼做? 還好,shared_ptr和auto_ptr都提供一個get函數,用於執行這樣的顯示轉換。這時如果在調用API時,如下:shared_prt<Investment>
Time of Update: 2015-06-24
標籤:C++中的涉及到虛表時,類對象的布局分為:虛表與資料成員,子類包含衍生類別布局,假設下面一個程式: 1 #include <iostream> 2 3 using namespace std; 4 5 class B { 6 private: 7 int a; 8 public: 9 B() {10 a = 11;11 }12 13 virtual void fun() {14 cout <<
Time of Update: 2015-06-24
標籤:/// <summary>/// 在指定的字串列表CnStr中檢索符合拼音索引字串/// </summary>/// <param name="CnStr">漢字字串</param>/// <returns>相對應的漢語拼音首字母串</returns>public static string GetSpellCode(string CnStr) { string strTemp=""; int
Time of Update: 2015-06-24
標籤:mci c# record sound app 錄音我一般更喜歡mci方式,當然也有另一種方式及DirectSound不過它會麻煩許多但是它卻有一個讓我感到較好的特點,首先可以選擇錄音裝置源,第二它不像mci必須要寫到本地磁碟,它是把錄製音頻流存放在記憶體中,在速度上我認為它會快很多,不過它也有一個缺點讓我不舒服,它不如m
Time of Update: 2015-06-24
標籤:今天在C#中碰到了一個問題,需要將double轉換成字串顯示,要求保留小數位。在網上查詢了一下相關的文章具體如下: double temp=3.1415926;(F)Fixed point:string str1=temp.toString("f1");//保留一位小數 四捨五入 結果:3.1(F)Fixed point:string str2=temp.toString("f2");//保留兩位小數,四捨五入 下面一次類推 結果:3.14(N)Number:string
Time of Update: 2015-06-24
標籤:泛型概述泛型是CLR提供的一種特殊機制,讓我們可以先用“類型預留位置”來寫代碼,然後在建立類型的執行個體時提供真正的類型。在很多時候我們可以把類的行為提取或者重構出來,增加一個抽象層,使之不僅能用於硬式編碼類型上,而且可以應用到其他的類型上,即另外一種形式的代碼重用。泛型的優點如下:不管構造類型的數量有多少,只有一個實現,有效減少了代碼膨脹,同時代碼的可讀性更好更加易於維護。泛型提供了一個強型別的編程模型,它能確保只有成員希望的資料類型才可以使用。e.g new
Time of Update: 2015-06-24
標籤:C# 使用 X.509 v.3 認證的方法。 public static void Main() { // The path to the certificate. string Certificate = "Certificate.cer";
Time of Update: 2015-06-24
標籤: 因業務的需要,有這麼個需求,需要前台的JS傳參調用C#背景方法。現在有這麼個方法可以解決,整理如下。 首先,先說一下基本實現,前台用Jquery的ajax將其中的URL後加方法,然後在Data中傳遞參數。在返回的Data中 擷取到資料,並做相應的處理。而後端呢,則是在對應的方法加標記WebMethod。 前端JS: $.ajax({ type: "post", dataType: "json", data: "{jsTime:‘" +
Time of Update: 2015-06-24
標籤:C#代碼反編譯 得到項目可運行源碼摘自:http://www.cnblogs.com/know/archive/2011/03/15/1985026.html 談到"C#代碼反編譯",大家可能都會想到 Reflector代碼反編譯工具,對其應該也不會太陌生;做C#開發,它算得上是一個不可或缺的工具 +
Time of Update: 2015-06-24
標籤: 棧和隊列是非常重要的兩種資料結構,棧和隊列也是線性結構,線性表、棧和隊列這三種資料結構的資料元素和元素的邏輯關係也相同差別在於:線性表的操作不受限制,棧和隊列操作受限制(遵循一定的原則),因此棧和隊列也稱為受限制的線性表。 棧的定義:操作在表的尾端進行的線性表,棧頂:TOP,棧底:Bottom。棧中沒有資料:空棧Empty
Time of Update: 2015-06-24
標籤:源碼 c sift vlfeat dense VLFeat是一個很好用的開源庫,其中實現了電腦視覺常用的演算法,使用的語言是C和matlab。 官網:http://www.vlfeat.org/index.html 在官網下載最新版本後,在matlab中添加路徑即可。 1,Dense Sift