Time of Update: 2018-12-04
sizeof是C語言中判斷資料類型或者運算式長度符;不是一個函數,位元組數的計算在程式編譯時間進行,而不是在程式執行的過程中才計算出來。文章來源:http://blog.sina.com.cn/s/blog_5c717fa001012ml7.htmlsizeof函數功能:計算資料空間的位元組數1.與strlen()比較strlen計算字元數組的字元數,以"\0"為結束判斷,不計算為'\0'的數組元素。sizeof計算資料(包括數組、變數、類型、結構體等)所佔記憶體空間,用位元組數表示(當然用在字
Time of Update: 2018-12-04
借是累積,故為轉載。1.常數結構體,出現錯誤提示:incomplete type is not allowed 問:在IIC.c中聲明如下:const struct aa{ uchar i;}bb={3};在IIC.h中聲明如下:extern const struct aa bb;在main()中這樣應用:uchar cc;cc = bb.i;即出現:incomplete type is not
Time of Update: 2018-12-04
原文連結:一個用C/C++分別實現介面與實現相分離的設計原則的例子良好的設計應該只暴露介面給使用者,所有的實現細節對使用者來說應該是隱藏的,也就是說使用者只要給介面傳遞相應的參數就行了,不需要管內部是如何?的,比如我們使用fopen,fseek,CreateWindow等函數會發現很好用,而不需要管fopen,fseek,CreateWindow函數內部代碼是如何?的,資料結構是如何組織的,也就是說絕對不能暴露任何的細節給使用者,包括資料群組織在內。我現在用C和C++舉一個例子,來說說C/C++
Time of Update: 2018-12-04
類中的靜態成員真是個讓人愛恨交加的特性。我曾經在面試時,被主考官抓住這個問題一陣窮追猛打,直把我問的面紅耳赤,敗下陣來。所以回來之後,我痛定思痛,決定好好總結一下靜態類成員的知識點,以便自己在以後面試中,在此類問題上不在被動。靜態類成員包括待用資料成員和靜態函數成員兩部分。 一 待用資料成員:
Time of Update: 2018-12-04
原文地址:C語言的設計模式-介面隔離介面隔離:(更好的可參考:《C語言介面與實現》一書)定義為用戶端不應該依賴它不需用的介面,在C語言中我們可以把標頭檔看成一個模組的介面,根據介面隔離原則也就是說這個標頭檔中只能包含外部需要的介面,但在實際的項目中往往標頭檔都不符合介面隔離原則。1:內、外部介面的隔離:標頭檔中通常包含了模組內部介面(內部類型定義、內部介面聲明)和外部介面(外部介面聲明)假設moudle模組對外提供一個fun1介面,模組內部實現需要定義一個結構類型,一般的實現如下:/*moudl
Time of Update: 2018-12-04
++待用資料成員/靜態函數成員總結一、待用資料成員1.幾種錯誤用法總結class A{ static int a; void test() { int b = a;//錯誤,因為沒有定義a,會提示找不到a }}class A{ static int a = 2;//錯誤,非const待用資料成員不能在類體中初始化}class A{ static const int a = 2; void test() { int b =
Time of Update: 2018-12-04
“有時候,在選擇轉載和原創時,自己迷惑了,多少知識都是別人嚼爛了啊”——————————————————————————————————————前言:雖然可變參數的可以執行很差,受平台影響,cpu arch,大小端,棧增長等,不過有時候不考慮這些時,可以考慮用其完成一些技巧。註:用#pragma print???1. va_argva_arg(args, bool)va_arg(args,
Time of Update: 2018-12-04
使用標準C++的類型轉換符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。3.1 static_cast用法:static_cast < type-id > ( expression ) 該運算子把expression轉換為type-id類型,但沒有運行時類型檢查來保證轉換的安全性。它主要有如下幾種用法:①用於類階層中基類和子類之間指標或引用的轉換。 進行上行轉換(把子類的指標或引用轉換成基類表示)是安全的;
Time of Update: 2018-12-04
只要學了C++的人,肯定知道靜態聯編和動態聯編,如果你不知道,ok那你學習之路還長。簡單的靜態聯編的東西就不說了。先看下面程式。class AA{ public: void result() { std::cout << "Surprise?" << std::endl; }; };int main(){ AA *p = NULL; p->result(); system("Pause");
Time of Update: 2018-12-04
昨個兒,一同學打電話問我,這兩個名詞,事實上,我以前倒沒大注意,在課堂的時候聽說過一次,後來就再沒印象了。緣故是我看的C++文法概念書就那一本:CTPL, 而且上面並未著重提出,這個概念估計是國內的專屬吧,概念是概念,理論還是有的。同學的引出點是關於轉型對於函數調用的影響。 Java
Time of Update: 2018-12-04
出處:http://dev.csdn.net/author/bodybo/index.html作者:pipi1、什麼是虛函數和多態虛函數是在類中被聲明為virtual的成員函數,當編譯器看到通過指標或引用調用此類函數時,對其執行晚綁定,即通過指標(或引用)指向的類的類型資訊來決定該函數是哪個類的。通常此類指標或引用都聲明為基類的,它可以指向基類或衍生類別的對象。多態指同一個方法根據其所屬的不同對象可以有不同的行為(根據自己理解,不知這麼說是否嚴謹)。舉個例子說明虛函數、多態、早綁定和晚綁定:李氏
Time of Update: 2018-12-04
靜態成員是指聲明為static的類的成員在類的範圍內所有對象共用某個資料。友元是一種定義在類外部的普通函數,但它需要在類的內部進行說明,為了與該類的成員函數加以區別,在說明時前面加上關鍵字friend。友元不是成員函數,但它可以訪問類中的私人成員。其共用提高程式的運行效率。C++語言中的友元函數為在類外訪問類中的私人成員和保護成員提供了方便,但破壞了類的封裝性和隱蔽性。友元可以是一個函數,稱為友元函數,也可以是一個類,稱為友元類。友元函數和友元類統稱友元。靜態成員類相當於一個資料類型,當說明一
Time of Update: 2018-12-04
C語言庫——靜態庫、共用庫來源:頂嵌 我們在編寫一個C語言程式的時候,經常會遇到好多重複或常用的部分,如果每次都重新編寫固然是可以的,不過那樣會大大降低工作效率,並且影響代碼的可讀性,更不利於後期的代碼維護。我們可以把他們製作成相應的功能函數,使用時直接調用就會很方便,還可以進行後期的功能更新。 例如我要在一段代碼中多次交換兩個變數的值,我可以在代碼中多次寫入i=x;x=y;y=i; 不過這樣未免有點麻煩我們可以編寫一個change_two_int()函數進行簡化。
Time of Update: 2018-12-04
文章目錄 虛函數表一般繼承(無虛函數覆蓋)一般繼承(有虛函數覆蓋)多重繼承(無虛函數覆蓋)多重繼承(有虛函數覆蓋)安全性#include <iostream.h>class Base{public :結束語
Time of Update: 2018-12-04
傳遞到目標硬體上的應用程式的形式為Symbian安裝系統(.sis)檔案。.sis檔案是一個壓縮的封存檔案,它包含了安裝所需要的所有檔案,還包括了安裝過程的選項資訊。Symbian安裝系統為把應用程式、資料或配置資訊安裝到基於Symbian作業系統的裝置上提供了簡單的和一致的使用者介面。開發人員(或終端使用者)安裝的組件都包含在.sis檔案中。 我們可以使用Series 60
Time of Update: 2018-12-04
在Series 60 SDk中可以使用兩個版本的模擬器可執行檔:一個版本包含符號調試資訊,另一個是發布版本。發布版模擬器限制為只能評估或示範應用程式--它啟動得很快,因為它不帶有調試資訊。 兩個版本都叫做epoc.exe,但是它們位於自己的子目錄中。Epoc這個名字是曆史遺留的--它是Symbian OS以前的作業系統的名稱。 在正常的開發活動中,經常使用模擬器的調試形式。根據你選擇的IDE,你可以正常地使用調試版本或在"偵錯模式"中使用調試版本。能夠在兩種模式下運行同一個"調試模擬器"
Time of Update: 2018-12-04
本文介紹建立、部署和運行擁有圖形化使用者介面(GUI)的Series 60應用程式範例的過程。 我們假定你已經安裝了Series 60軟體開發套件(SDK),並安裝了自己選擇的整合式開發環境(IDE)。這兩項安裝都非常容易。 本文的主題包括: 開發過程概述——在模擬器或目標裝置上定義、建立和運行Series 60項目過程的詳細說明,還有很多IDE的指南,以及開發人員可以使用的編譯選項。 Series 60模擬器——Series
Time of Update: 2018-12-04
由於Series 60應用程式可以從命令提示字元或IDE中建立,因此我們同時詳細介紹了這兩種方法。我們先從使用IDE提供的C++編譯器建立運行在PC上的模擬器(也就是x86指令集)的項目開始。我們同時使用了調試建立,因此可以使用符號調試資訊和記憶體漏洞檢查(動態地檢查堆上分配的記憶體是否被正確地釋放了)。 從命令列建立程式 開啟命令提示字元並把當前路徑改變到包含Series 60
Time of Update: 2018-12-04
開發Series 60項目的時候你可以使用的各種選項總結在表1-1中。Symbian、Nokia和開發工具廠商Borland、Metrowerks正在提供更多的選擇。但是,好像微軟開發工具,儘管它目前可行並被廣泛地使用,在可預見的未來無法受到支援。 在微軟、Borland和Metrowerks的多種IDE的功能之間目前有一些值得注意的差別。對後兩種開發環境的增強進行中之中。EMCC軟體有限公司把所有的三種廠商的IDE都作為自己開發活動的基礎。我們也每天使用命令列工具——並不是因為我們原意,
Time of Update: 2018-12-04
開始以為是adb shell工具的問題,試了好幾個版本都是如此。在網上搜尋了一下,有人說使用CTRL+\ 再按斷行符號可以退出,經過測試確實可以。實際上,這裡的CTRL+什麼鍵發送什麼訊息是可以定義的,通過stty命令。當然,如果你的手機沒有裝busybox或toolbox之類的可能會沒有此命令。131|root@android:/ # sttysttyspeed 38400 baud; line = 0;intr = ^C; quit = ^\; erase = ^?; kill = ^U;