Time of Update: 2018-12-03
[liuzy@linux237 testcode]$ vi testhms.c 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define hdg 30 //時針每轉動一下走30度 4 #define mdg 6//分針每轉動一下走6度 5 #define sdg 6//秒針每轉動一下走6度 6 int gethourdg(int h,int m) 7 {
Time of Update: 2018-12-03
#include <stdio.h>#include <stdlib.h>#include <conio.h>#define X " Sun Mon Tue Wed Thu Fri Sat"#define P printf#define B break#define FP fprintfvoid print(int n){ int i; for(i=0;i<n;i++) printf(" ");}int day(int year){ long a,b;
Time of Update: 2018-12-03
問題:如題。假設有父類A與子類BA執行個體化一個對象a B執行個體化一個對象b那麼在記憶體中 a與b的地址關係是什麼。是他們的首地址都一樣嗎?解答:他們是沒有必然關係的。就跟你隨便產生另外兩個其他類型的變數一樣。當然,你執行個體化的對象b跟A有關係。b對象開頭的部分4個位元組是虛函數表,接著就是基類的資料成員,然後是子類的資料成員。 對方:C++中的類對象執行個體化後存在記憶體中的什麼位置,堆還是棧?我(思索,但不確定):
Time of Update: 2018-12-03
C語言結構體對齊也是老生常談的話題了。基本上是面試題的必考題。結構體到底怎樣對齊?下面總結了對齊原則,在沒有#pragma pack宏的情況下:原則1、普通資料成員對齊規則:第一個資料成員放在offset為0的地方,以後每個資料成員儲存的起始位置要從該成員大小的整數倍開始(比如int在32位機為4位元組,則要從4的整數倍地址開始儲存)。原則2、結構體成員對齊規則:如果一個結構裡有某些結構體成員,則該結構體成員要從其內部最大元素大小的整數倍地址開始儲存。(struct a裡存有struct
Time of Update: 2018-12-03
1. 基本解釋 typedef為C語言的關鍵字,作用是為一種資料類型定義一個新名字。這裡的資料類型包括內部資料類型(int,char等)和自訂的資料類型(struct等)。 在編程中使用typedef目的一般有兩個,一個是給變數一個易記且意義明確的新名字,另一個是簡化一些比較複雜的型別宣告。 至於typedef有什麼微妙之處,請你接著看下面對幾個問題的具體闡述。 1、typedef的最簡單使用 typedef long
Time of Update: 2018-12-03
原貼最初發表在QQ空間: http://user.qzone.qq.com/31731705/blog/1310540087 上個月面試了一些快要畢業在找工作的學生,有個奇怪的感覺,學校就是學校,搞的東西大多是理論或者演算法方面的,聽的我是雲裡霧裡,還有就是很NB很酷的那種,動不動就是核心,驅動,有分析Linux核心源碼的,有做Windows核心驅動的。還記得當時我問一個學生,為什麼你看的是Linux
Time of Update: 2018-12-03
原貼最初發表在QQ空間:普通C++程式員 VS 文藝C++程式員,http://user.qzone.qq.com/31731705/blog/1323153107 BBS上看到一個講C++的文章, C++ 這孩子 是不是誤入歧途了?,讓我想起了普通青年和文藝青年。 看這個經典的NB程式,求一個數有多少bit。J普通C++程式員namespace traditional { int bits_of(int remain) { if (remain) return 1+bits_of(
Time of Update: 2018-12-03
最初發表在QQ空間,見:C++代碼的維護,從執行個體說起小問題有大智慧-Proxy 伺服器的監測 是幾個月前的文章,最近碰到別人問如何設定代理的問題,又回顧了部分代碼,雖然時間不長,還是有不少記不清了。,於是就整理了那個設定代理的函數,代碼是實踐的科學,每寫一次,都會有點心得。先把代碼貼出來,這個函數的大概流程是,先查詢當前的瀏覽器設定,然後根據使用者的設定,再決定1. 無代理 2. 使用自動設定指令碼 3. 使用某個代理
Time of Update: 2018-12-03
1、數組按元素的對齊參數對齊;2、設定對齊參數:#pragma pack(n);取消:#pragma pack();3、每次對齊都要選類型本身的對齊參數和設定的對齊參數n中小的那個;4、結構體最終大小是結構體中最大成員對齊參數和n中小的那個數的倍數,此作為最後一個元素後面要空多少位元組的依據;5、結構體類型本身的對齊參數為最大成員類型的對齊參數;
Time of Update: 2018-12-03
本文轉自:herohbc在編寫mexFunction中,語法錯誤可以在編譯時間由編譯器給出,但邏輯錯誤需要通過調試才能發現。本文介紹如何在Visual Studio2008中調試mex函數。這也是本系列的最後一篇文章。我們採用上一篇文章中的例子,即用OpenCV提供的Function
Time of Update: 2018-12-03
一個winsock很基礎的應用,關於連接埠掃描器的簡單實現,根據書上的講解和自己的理解做出的一個總結。 自己整理詳細注釋後,共用給喜歡hack技術的同學。環境:windowsXP工具:vc6.0首先建立一個基於win32的控制台程式。(本人採取自頂向下的解析代碼)#include <stdio.h> //不解釋了……#include <winsock2.h> //winsock函數的標頭檔#include <time.h>
Time of Update: 2018-12-03
描述 有兩個非降序排序的數列A,B, 判斷是否存在A中的一個數a,與B中的一個數b的和為給定的X. 如果存在輸出Yes. 如果不存在輸出No. 數列中元素的個數不超過100,000.輸入 輸入有4m+1行. 第一行為測試資料的組數m, 下面的4m分別為m組測試資料。每組測試資料的第一行為A,B兩個數列的元素個數,用空格隔開。下面的兩行分別為A,B兩個數列的元素,元素之間用空格隔開。第四行為給定的數X.輸出 輸出一共為m行,分別對應m組測試資料。如果存在輸出Yes.
Time of Update: 2018-12-03
C++,夢寐以求的課程終於到來了,終於和seven上同樣的課程了。在三門物件導向程式設計課程(C++,JAVA,C#)中必選一門,我自然毫不猶豫地選了C++,從此開始了我的C++之路,我想我會在這條路上一直走下去,在任何情況下我都不會放棄C++。至於物件導向程式設計,之前一直不知道這是怎麼一回事,剛開始學C++我以為是再學習一種語言,只不過這種語言更強大而已。在第一節課上,馬銳老師給我們介紹了C++的強大之處,很多大型應用程式都是用C++來開發的,微軟的產品更是如此。當然C++中最重要的其實不
Time of Update: 2018-12-03
終於把這本被稱為C語言聖經的書看完了。書的封面如下:摘抄筆記如下:page 16EOF值為-1,所以char類型是無法存放該值的,需要用int類型。聯想到我們常寫的while(scanf("%d",&a)!=EOF)其實scanf是一個int類型的函數,在類型匹配的時候傳回值為1,在類型不符的時候傳回值為0,在沒有資料讀入的時候傳回值為-1,這和EOF是一致的。page53x=f()+g(),該語句在編譯的時候其實不一定是從左至右執行的,具體情況視環境而定printf("%d %d",+
Time of Update: 2018-12-03
上接PartA p387 初始化列表建構函式具有名字、形參表和函數體,例如Sales_item::Sales_item(const string &book):isbn(book),units_sold(0),revenue(0.0){}其中,省略初始化列表並在建構函式內對資料成員賦值是合法的,例如可以修改為:Sales_item::Sales_item(const string &book){ isbn=book; units_sold=0; revenue=0.0;}
Time of Update: 2018-12-03
第7章 函數㈠ 函數的聲明和定義⒈ 與變數類似:⑴ 函數必須在調用前聲明⑵ 函式宣告可與定義分離⑶ 一個函數只能定義一次但可聲明多次⒉ 函式宣告由函數傳回型別、函數傳回型別和形參列表組成三者描述了函數的介面,稱為函數原型(function prototype)⑴ 函數的運算元,即形參(parameter),在一對圓括弧中聲明,並以逗號分隔形參名是可選的,但形參需要在定義函數時命名才能使用⑵ 函數執行的運算在一個稱為函數體(function body)的塊語句中定義⒊
Time of Update: 2018-12-03
第2章 變數和基本類型⒉⒈ 基本內建類型⒈ 算數類型(arithmetic types):表示數值(即整數和浮點數)的類型⒉⒈⒈ 整型⒈ 整型(Integral Types):表示整數、字元和布爾值的算數類型。包括:⑴ char: 字元型,通常單個機器位元組,最小8位wchar_t:寬字元型,最小16位用於擴充字元集,如漢字和日語⑵
Time of Update: 2018-12-03
第3章 標準庫類型⒊⒌ 標準庫bitset類型[以下下標和位元均為 size_t 型(定義在標頭檔 cstddef 中, unsigned 整型)]⒈ bitset 是一種類模板,用於儲存位集,並提供測位和置位操作⒉ 定義和初始化bitset 在定義時需要以常量運算式的形式提供位元N初始化時參數提供位元不足則剩餘高階位置為0,位元過多則拋棄多餘高階位⑴ bitset<N> b;預設建構函式置各位為0⑵ bitset<N> b( unsigned long u );使用
Time of Update: 2018-12-03
第4章 數組和指標現代C++程式應使用vector和迭代器代替數組和指標,除非前二者不滿足對效率的特殊要求⒋⒈ 數組⒈ 數組是由類型說明符、標識符和維度組成的複合類型,能儲存一組某種類型的未命名物件⒉ 定義和初始化⑴ 類型說明符規定了存放於數組中元素的類型可使用除引用外的任意類型,包括數組本身(數組的數組即**數組)⑵ 維數指定數組中包含的元素個數,須用值大於等於1的常量運算式定義,一經指定不可改變⑶ 可以使用初值列表(用花括弧括起的一組用逗號分隔的初值,可為空白)顯式提供元素的初值①
Time of Update: 2018-12-03
第6章 語句㈠ 簡單語句⒈ 運算式語句(expression_r statement)一個運算式加上結尾的分號,執行時導致該運算式被求值⒉ 空語句(null statement)只由一個單獨的分號組成,當文法上需要一個語句但邏輯上並不需要時使用⒊ 聲明語句用於聲明或定義對象或類㈡ 複合陳述式⒈ 複合陳述式(compound statement)又被稱為塊(block),是用一對花括弧{}括起的(可能為空白的)語句序列⒉ 通常用於文法規則要求使用單個語句但程式邏輯需要多個語句時⒊