Time of Update: 2018-12-05
1)
Time of Update: 2018-12-05
使用標準C++的類型轉換符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast。3.1 static_cast用法:static_cast < type-id > ( exdivssion )
Time of Update: 2018-12-05
以前VC6,一直以為動態分配一個大小不確定的數組是不行的,現在用vs2003.net發現可以,如:#include <iostream>using namespace std;class stu{public: stu(int aa=1,int bb=2) { a=aa; b=bb; } int a; int b;};int main(){ int a=10; //cin >>a; stu*p = new stu[a]; for(int i=0; i<a; i+
Time of Update: 2018-12-05
Balon白話MSDN:從普通DLL中匯出C++類(2) –
Time of Update: 2018-12-05
c++中的operator 有兩種用法,一種是(operator overloading)運算子多載,一種是(operator casting)操作隱式轉換#include <iostream>using namespace std;class num{protected:int m_a;int m_b;public:num(int a, int b):m_a(a),m_b(b){}num operator + (const num& n ){this->m_a +=
Time of Update: 2018-12-05
習慣了在 JS 中寫 try catch 語句,所以在c++代碼中瞎寫。。杯具。我對c++的瞭解太少了。 1.在C++中,很多錯誤是try{}catch{}捕獲不到的,比如null 指標訪問,野指標訪問等,程式都直接崩潰,不會讓你捕獲的。所以,很遺憾,我慣用try catch,並沒有達到預期。 2. 絕大多數 windows api 在執行時也並不拋出異常,直接掛掉。還是要對每一個問題做其相應的處理,才不至於掛掉。 3. 但可考慮用 GetLastError 擷取錯誤資訊。 4.
Time of Update: 2018-12-05
在看代碼時, 突然有人寫的沒括弧, 也不是說他代碼不好, 而是他們都寫到一種程度, 所以基礎一定不能忘記.原創]如何記住C語言的運算子優先順序?學習C語言也有一段時間了,感覺C語言的運算子優先順序很難記住,特別是對於初學者而言! 也許你會說沒有記住沒關係,用括弧來改變優先順序就可以了。但是很多情況下,因為依賴括弧很容易導致程式可讀性差,當然我不是反對加括弧,只是提倡恰到好處。總之,還是記住好些,讀別人的程式也方便點。近來翻看了一下優先順序,感覺還是有規律可循的,拿來和大家分享,希望對大家有協助!
Time of Update: 2018-12-05
在嵌入式系統開發中,目前使用的主要程式設計語言是C 和彙編,C++已經有相應的編譯器,但是現在使用還是比較少的。在稍大規模的嵌入式軟體中,例如含有OS,大部分的代碼都是用C 編寫的,主要是因為C 語言的結構比較好,便於人的理解,而且有大量的支援庫。儘管如此,很多地方還是要用到組合語言,例如開機時硬體系統的初始化,包括CPU 狀態的設定,中斷的使能,主頻的設定,以及RAM 的控制參數及初始化,一些中斷處理方面也可能涉及彙編。另外一個使用彙編的地方就是一些對效能非常敏感的代碼塊,這是不能依靠C
Time of Update: 2018-12-05
轉自:http://bbs.pediy.com/showthread.php?t=89379 標 題: 【分享】從C語言到彙編,從彙編到C語言作 者: wzjok時 間: 2009-05-20,17:03鏈 接: http://bbs.pediy.com/showthread.php?t=89379要從事“逆向工程”工作,或對其感興趣,請必然要接觸到組合語言。然而我們在對電腦語言的瞭解大都是從進階語言(如C、VB、Dephi)開始的。那當我們閱讀由進階語言翻譯成的機器語言時肯定會遇到很多障礙。
Time of Update: 2018-12-05
深夜睡不著覺,很痛苦。關於對象第一部分:1.c++加上封裝之後的成本:a.成員資料:c++ class中的成員資料等同於c中struct中的資料;b.非內聯的成員函數:只會出現一個函數實體,由class中儲存,由class執行個體化後的對象指向class中的函數地址;c.內聯的成員函數:擁有一個或零個函數定義的內嵌函式會在每個使用者身上產生一個函數實體;d.virtual function機制:支援一個有效率的”執行期綁定“;(產生額外的負擔)e.virtual base class:用以實現”
Time of Update: 2018-12-05
僅僅是記錄一下心得; 接觸 C++ 是很久以前的事情,但此後一直很少使用,因此對 C++ 的很多語言特性理解很膚淺; 例如,一直就有點迷惑,“為什麼有了指標,C++ 還要引入引用” ? 網上搜尋一下,一般的答案是 “引用是將引用者作為被引用者的一個別名”; 我試著從編譯器的角度來理解這個“別名”的意思; 一個符號,是一個對象的“正式名稱”;例如 int a; 編譯器把 a 看作一個符號, a 是一個整數對象的“正式名稱”,它對開發人員來說是可見的; 所謂“別名”,就是一個對象的另外一個“
Time of Update: 2018-12-05
code_test.h/* * code_test.h * * Created on: 2013-3-28 * Author: hp */#ifndef CODE_TEST_H_#define CODE_TEST_H_#include <map>#include "windef.h"using namespace std;struct ALLOC_INFO{DWORD address;DWORD size;char file[64];DWORD line;};class
Time of Update: 2018-12-05
轉自:http://longsy.javaeye.com/blog/353316作者:longsy 當定義一個新類型時,通過使用複製建構函式,賦值操作符,解構函式來顯示或隱式地完成對象的複製,賦值,撤銷 1.複製建構函式:只有單個形參,而且該形參是對本類類型對象的引用(通常是const修飾)的建構函式,稱為~ 複製函數可用於: 1)根據另一個同類型的對象顯示或隱式初始化一個對象. 2)複製一個對象,將它作為實參傳給一個函數 3)從函數返回時複製一個對象 4)初始化順序容器中的元素
Time of Update: 2018-12-05
預設建構函式如果你定義一個類,並且沒有給它定義建構函式。編譯器會為這個類提供預設的建構函式。如果你提供了建構函式,編譯器是不會再為你提供一個預設建構函式的。編譯器提供的預設建構函式什麼都沒做。類的成員變數將遵守預設的初始化規則。編譯器提供的預設建構函式的初始化規則:在棧和堆中的類對象的內建或複合類型成員變數將為髒資料;在全域變數區的類對象的內建或複合類型成員變數初始化為0;類對象成員將調用預設的建構函式來初始化;#include <iostream>using namespace
Time of Update: 2018-12-05
友元 friend 有時候你需要訪問一個類的所有成員,而這種訪問方式在邏輯上又不是被訪問類的介面。你也不希望破壞類的許可權機制。比如你希望能給你的寵物對象取名字(寵物是不會自己取名字的),你又不希望其他人能給你的寵物取名字。這時候友元機制就出來了。你可以在寵物類中指定主人類、你的好友類為友元。只讓他們可以訪問寵物類的名字屬性。還有被重載的操作符,經常需要訪問類的私人資料,這些操作又是類的成員。
Time of Update: 2018-12-05
const對象 如果你想定義一個永遠都不會改變的類對象,可以像下面這樣定義一個const對象const CBox standard(10.0,10.0,10.0);standard對象的成員變數的值將永不會改變。編譯器為了保證const對象不會改變,不允許調用const對象的非const成員函數。即使這個非const成員函數確實沒有改變任何成員變數的值。
Time of Update: 2018-12-05
開篇——環境假設 By : HengStar(欣恒)
Time of Update: 2018-12-05
百錢買百雞問題公元錢五世紀,我國古代數學家張丘建在《算經》一書中提出了“百雞問題”:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?分析:假設公雞有x只,母雞y只,小雞z只。那x+y+z==100,且根據價格5*x+3*y+z/3==100。只要滿足上面的兩個等式的數量就行。我們可以利用C語言3重迴圈來窮舉所有的答案。但是雞的數目都是正整數,z/3可能會產生小數。所以不妨設買小雞所用的錢為變數。不妨設公雞數為int
Time of Update: 2018-12-05
這個C語言經典100題就是在網上找的。在編程愛好者論壇也有。先說明一下:有些題目我可能跳過了,涉及到了圖形的我都沒做。還有幾個題目根本不算題目,所以也沒做。有的題目出現兩遍是因為寫了兩個不同的答案!/*【程式51~60】題目:學習使用按位與 & ,按位或運算|,按位異或運算^按位取反運算~。 沒給出具體的題目,所以我只小結一下
Time of Update: 2018-12-05
這個C語言經典100題就是在網上找的。在編程愛好者論壇也有。先說明一下:有些題目我可能跳過了,涉及到了圖形的我都沒做。還有幾個題目根本不算題目,所以也沒做。有的題目出現兩遍是因為寫了兩個不同答案。【程式1】題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數位三位元?都是多少?1.程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。