原创 C++語言的歷史和標準化

1979年4月,貝爾實驗室的Bjarne Stroustrup(本賈尼·斯特勞斯特盧普)博士等人負責分析UNIX內核,但當時沒有合適的工具能夠有效地分析由於內核分佈而造成的網絡流量,將內核模塊化,因此他們的工作進展緩慢。1979年

原创 C++與C的主要差異

簡單性和與C的高度兼容性是C++語言的重要設計原則,它繼續維持C作爲其一個子集,在C++語言中定義新的類型是其最基本的程序設計活動,並且極力避免了那些即使不用也會帶來時間或空間額外開銷的特徵,支持利用傳統的編譯和運行時環境,具有類

原创 C語言的錯誤處理

爲了開發強壯的程序,需要預見程序在執行時可能的錯誤,並對錯誤進行檢測和處理以在錯誤發生時能夠採取適當的行爲。C語言提供了幾個處理錯誤的函數庫。 斷言<assert.h> C語言使用斷言監控程序的行爲,斷言函數聲明在<assert.

原创 C++程序中儘量避免#define

使用const,enum替換#define定義常量 C語言中常用#define來定義具有某種特殊意義的常量。但是,使用#define宏定義定義的符號會在編譯前被替換掉,當因爲該宏定義出現問題時,在錯誤信息中無法獲得有關該宏的任何提

原创 C語言的國際化

編寫的C語言程序可能在不同的國家或地區運行。不同的國家或地區有不同的語言、文化傳統(例如字符、數值顯示方式等),爲了讓C語言的程序能夠來自不同國家和地區的人使用,需要考慮C語言的國際化。 locale locale是指根據計算機用

原创 Android應用程序用戶界面(六)

當你的佈局內容是動態的或者不是事先確定的,你可以使用一個繼承自適配器視圖(AdpaterView)的佈局在運行時利用視圖元素構建佈局。適配器視圖類的子類使用一個適配器將數據和它的佈局綁定。適配器(Adapter)作爲一個數據源和適

原创 C++支持的程序設計範式

C++支持包括面向過程、面向對象、函數式、泛型和元編程形式的多重泛型編程語言。面向過程關注的是處理過程,“確定你需要的過程並採用你能找到的最好的算法”。面向對象關注的是問題中的事物,根據問題“確定你需要哪些類,爲每個類提供完整的一

原创 Android應用程序用戶界面(七)

列表視圖是顯示一列可滾動項的視圖組。列表視圖會綁定一個適配器,使用適配器從數組或數據庫源中獲取內容,將每一項轉換爲放置在列表中的視圖,並被自動插入列表中。 示例 下例中使用了數組適配器的構造函數: ArrayAdapter(Co

原创 Android應用程序用戶界面(八)

數據適配器(ArrayAdapter) ArrayAdapter是由一個任意對象的數組支撐的BaseAdapter的具體類。默認情況下,這個類期望提供的包含單獨一個TextView資源的id。如果你想要一個更加複雜的佈局,使用另外

原创 Android應用程序用戶界面(九)- 按鈕

按鈕由文本或(和)圖標組成,這些文本或圖標傳遞着當用戶點擊該按鈕時會發生什麼。 根據你是想創建帶文本、圖標或者兩者都有的按鈕,你可以以以下三種方式在你的佈局文件中創建按鈕。 創建只帶有文本的按鈕,使用Button類: <But

原创 C語言的總結

C程序的頂層結構 一個C程序由源文件、依賴的庫、數據和文檔構成,其中源文件又分爲兩類,一類是頭文件(.h),一類是定義文件(.c)。庫由源文件編譯而來,包含數據和文檔,分爲靜態庫和動態庫兩類。庫通過頭文件公佈其提供的數據和功能。

原创 RelativeLayout的一些重要的屬性

第一類:屬性值爲true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:la

原创 Android ArrayAdapter 詳解

本文主要講解ArrayAdapter的創建方法,我把ArrayAdapter分爲三種:簡單的、樣式豐富的但內容簡單的、內容豐富的。默認情況下,ArrayAdapter期望接受的樣式文件裏只含有一個textview,然後它把接受到的

原创 C語言的日期和時間庫

C語言提供了日期和時間庫,可以確定時間、對時間值進行算術操作以及顯示格式化時間等。這些函數都在頭文件<time.h>中聲明,因此使用時需要包含該頭文件。 時間處理函數 時間處理函數包括以下幾個函數: clock_t clock(v

原创 C++相對於C的兩種新的內置類型

在C語言提供的字符、整型、浮點型、指針、數組、結構和枚舉等幾類類型的基礎上,C++又新增了兩類基本類型,分別爲布爾型和引用類型。 布爾型(bool) C語言中沒有明確地提供布爾類型,布爾類型的實現往往是通過宏定義或類型定義實現。C