Time of Update: 2018-12-05
文章目錄 linux下c++的編譯器g++的基本使用 linux下c++的編譯器g++的基本使用 {shareIt(this)}" onmousedown="function onmousedown(){CA.q('blog_entryview_share_topright');}" href="javascript:void(0);"> 標籤: linux c++的編譯器 g++的基本使用 分類: Linux系統 2007-07-
Time of Update: 2018-12-05
多線程之線程同步Mutex (功能與CriticalSection相同,保證某一時刻只有一個線程能夠訪問共用資源,但是是核心對象,所以訪問速度要比CriticalSection要慢,但是增加了等待逾時的功能,使用時可以根據實際的情況選擇其一)一 Mutex 互斥對象(mutex)核心對象能夠確保線程擁有對單個資源的互斥訪問權。實際上互斥對象是因此而得名的。互斥對象包含一個使用數量,一個線程ID和一個遞迴計數器。
Time of Update: 2018-12-05
在我們平時的學習和工作中,我們經常需要對字串進行各種比較,例如,忽略大小寫比較,精確比較等。但目前C++標準庫並沒有為string提供這樣的方法,從而使我們不能方便的比較。所以碰到這種問題一般是自己寫一個字串的比較規則,然後通過函數指標,或者函數對象調用,從而完成比較。也可以直接寫為一個全域的字串比較函數。幸運的是,在標準C中提供了比較兩個C
Time of Update: 2018-12-05
大家都比較熟悉字串相加操作,一般有這麼幾種情況:1. 當兩個字串直接相加的時候,c#中通過建立中間臨時對象,最終建立一個新的字串,其值就是兩個字串的串連。例如:在c#中,string str = “a" + "example"
Time of Update: 2018-12-05
第一篇一些同學問我,如何學好C++,我沒有別的辦法給你們,唯一的辦法就是讀書,讀大量的書,就可以解決。要把C++作為日常語言,而不是一種程式語言,這樣就好辦了。有人又要問我,那麼我應該讀什麼書才好?沒有時間怎麼辦?我只能對你們說,沒時間的話,就別學C++了,做你們喜歡做的事。生活中沒有C++,也同樣美好。如果你準備學,一定要學好,那麼我開個書單,應該問題不是甚大。首先肯定要讀一讀Bjarne Stroustrup的The Design and Evolution of
Time of Update: 2018-12-05
ORACLE支援幾種進階語言中內嵌入SQL語句,或ORACLE庫函數調用來訪問資料庫。它們是C,COBOL,Ada,PASCAL,PL/I等,這些語言稱之為宿主語言,用它們開發的程式就稱為PRO* 程式,如PRO*C,PRO*COBOL等。PROC在ORACLE的用戶端軟體中就有,安裝oracle時選上即可。1.什麼是Pro*C/C++ 通過在過程化程式設計語言C/C++中嵌入SQL語句而開發出的應用程式.2.簡要說明: 在通用程式設計語言中使用的SQL稱為嵌入式SQL.目的是Pro*C/C++
Time of Update: 2018-12-05
優先口決括弧成員第一; //括弧運算子[]() 成員運算子. ->全體單目第二; //所有的單目運算子比如++ -- +(正) -(負) 指標運算*&乘除餘三,加減四; //這個"餘"是指取餘運算即%移位五,關係六; //移位元運算符:<< >> ,關係:> < >= <= 等等於(與)不等排第七; //即== !=位與異或和位或; //這幾個都是位元運算: 位與(&)異或(^)位或(|)"三分天下"八九十;邏輯或跟與; /
Time of Update: 2018-12-05
C++引用與指標的比較 引用是C++中的概念,初學者容易把引用和指標混淆一起。 一下程式中,n是m的一個引用(reference),m是被引用物(referent)。 int m; int &n = m; n相當於m的別名(綽號),對n的任何操作就是對m的操作。 所以n既不是m的拷貝,也不是指向m的指標,其實n就是m它自己。 引用的規則: (1)引用被建立的同時必須被初始化(指標則可以在任何時候被初始化)。 (2)不能有NULL引用,引用必須與合法的儲存單元關聯(指標則可以是NULL)
Time of Update: 2018-12-05
C++Builder之文本編輯(Edit、Memo)1、AnsiString中第一個字元的下標為1而不是0;2、TEdit組件A、 PasswordChar 屬性 密碼替代字元。如果 TEdit組件用於密碼輸入時,可以通過設定此屬性來實現。預設此屬性為0,即正常顯示字元,如果用於密碼輸入,一般將其值改為’*’,這樣不管在其中輸入什麼字元,都只顯示為星號,當然也可以設定為其他字元。B、 OnChange事件最常用的Edit 事件,當 TEdit 組件中的文本改變的時候觸發。可以用於輸入資訊的及時處
Time of Update: 2018-12-05
泛型演算法的一些總結1、每個泛型演算法的實現都獨立於單獨的容器,並且不依賴於容器儲存的元素類型。2、泛型演算法從不直接添加或刪除元素。3、與容器的類型無關,只在一點上隱式地依賴元素類型:必須能夠對元素做比較運算。A、需要某種遍曆集合的方式:能夠從一個元素向前移到下一個元素。B、必須能夠知道是否到達了集合的末尾。C、必須能夠對容器中的每一個元素與被尋找的元素進行比較。D、需要一個類型來指示元素在容器中的位置,或者表示找不到該元素。4、迭代器將演算法和容器綁定起來。演算法基於迭代器及其操作實現,而並
Time of Update: 2018-12-05
C++物件導向編程(二)一、重載與覆蓋成員函數被重載的特徵:(1 )相同的範圍(在同一個類中);(2 )函數名字相同;(3 )參數不同;(4 )virtual關鍵字可有可無。覆蓋是指衍生類別函數覆蓋基類函數,特徵是:(1 )不同的範圍(分別位於衍生類別與基類);(2 )函數名字相同;(3 )參數相同;(4 )基類函數必須有virtual關鍵字。二、隱藏規則(1 )如果衍生類別的函數與基類的函數同名,但是參數不同。此時,不論有無virtual關鍵字,基類的函數將被隱藏(注意別與重載混淆)。 (2
Time of Update: 2018-12-05
C++中的虛函數一、定義定義:在某基類中聲明為 virtual並在一個或多個衍生類別中被重新定義的成員函數。 文法:virtual 函數傳回型別函數名(參數表) { 函數體
Time of Update: 2018-12-05
首先要理解class的意思。class應該理解為一種類型,象int,char一樣,是使用者自訂的類型。(雖然比int char這樣build-in類型複雜的多,但首先要理解它們一樣是類型)。用這個類型可以來聲明一個變數,比如int x, myclass my等等。這樣就像變數x具有int類型一樣,變數my具有myclass類型。理解了這個,就好解釋this了,my裡的this 就是指向my的指標。如果還有一個變數myclass mz,mz的this就是指向mz的指標。 這樣就很容易理解this
Time of Update: 2018-12-05
C/C++裡常用的是這幾個:1、expat,C介面的sax的XML解析器,不過有人在他上面封裝了DOM。2、libxml,C介面的XML解析器,支援dom,在非win平台上也被大量使用。3、xerces :這個就不用說了,IBM的東東品質還是不錯的(附帶可以加上icu和xalan)4、tinyxml:這個是比較輕量級的xml解析器,5、msxml:MS出品的,用起來還不錯。6、xml4chttp://www-128.ibm.com/developerworks/cn/xml/x-xml4c/i
Time of Update: 2018-12-05
以下是本人用C++類模板實現的一種資料結構——迴圈隊列。希望對人們有所協助,也希望人們提出寶貴的意見!//迴圈隊列#ifndef _QUEUE_H_INCLUDED#define _QUEUE_H_INCLUDEDtemplate<typename T>class _queue{ public: _queue(size_t _capacity = 1):capacity(_capacity), length(0), pBase(new T[_capacity]),
Time of Update: 2018-12-05
關於C++容器的一些總結1、容器的定義在資料存放區上,有一種物件類型,它可以持有其它對象或指向其它對像的指標,這種物件類型就叫做容器。很簡單,容器就是儲存其它對象的對象,當然這是一個樸素的理解,這種“對象”還包含了一系列處理“其它對象”的方法。2、容器的種類順序容器:是一種各元素之間有循序關聯性的線性表,是一種線性結構的可序群集。順序性容器中的每個元素均有固定的位置,除非用刪除或插入的操作改變這個位置。順序容器的元素排列次序與元素值無關,而是由元素添加到容器裡的次序決定。順序容器包括:vecto
Time of Update: 2018-12-05
特殊工具與技術 一、最佳化記憶體 1、策略:預先分配用於建立對象的記憶體,需要時在預先分配的記憶體中構造每人新對象。
Time of Update: 2018-12-05
Template模板是在編譯時間期而非執行時期被計算的。因此其不會帶來效率的降低。 1: const Point<float> &ref = 0;該語句會執行個體化一個Point的float執行個體。該語句會被擴充為: 1: Point<float> temp(float(0)); 2: const Point<float> &ref =
Time of Update: 2018-12-05
在函數中,編譯器會協助將解構函式(Destructor) 安插在相應的位置。對於函數中的局部對象,會將解構函式安插在對象的每一個離開點。例如: 1: void Function(int a) { 2: Object obj; 3: swithch(a) { 4: case 0 :....;return; 5: case 1 : ....;return; 6: case 2 : ....;return; 7: default :
Time of Update: 2018-12-05
先說下我的配置windows 7,vmware 7.1.2 build-301548,opensuse 11.3, kernel:2.6.34-12-desktop 配置vmware tools時,總提示找不到kernel的標頭檔,把所有kernel相關的rpm包全裝了還是不行,鬱悶了半天,在老外的論壇上找到瞭解決辦法, 說的很清楚,做兩個軟串連就行了, ln -s ../generated/autoconf.hln -s