原创 C++中出現的計算機術語4

adaptor(適配器)  一種標準庫類型、函數或迭代器,使某種標準庫類型、函數或迭代器的行爲類似於另外一種標準庫類型、函數或迭代器。系統提供了三種順序容器適配器:stack(棧)、queue(隊列)以及priority_queue(優先

原创 C++中出現的計算機術語2

C-style strings(C 風格字符串) C 程序把指向以空字符結束的字符數組的指針視爲字符串。在 C++ 中,字符串字面值就是 C 風格字符串。C 標準庫定義了一系列處理這種字符串的庫函數,C++ 中將這些標準庫函數放在cst

原创 C++學習筆記9-操作符重載

1. 重載操作符必須具有一個類類型操作數 用於內置類型的操作符,其含義不能改變。例如,內置的整型加號操作符不能重定義:  // error: cannotredefine built-in operator for ints int op

原创 C++學習筆記11-面向對象2

 1.  只能初始化直接基類 一個類只能初始化自己的直接基類。直接就是在派生列表中指定的類。如果類C 從類B 派生,類B 從類A 派生,則B 是C 的直接基類。雖然每個C 類對象包含一個A 類部分,但C 的構造函數不能直接初始化A 部分。

原创 C++學習筆記10-面向對象

1.  面向對象編程基於三個基本概念:數據抽象、繼承和動態綁定。 在C++ 中,用類進行數據抽象,用類派生從一個類繼承另一個:派生類繼承基類的成員。動態綁定使編譯器能夠在運行時決定是使用基類中定義的函數還是派生類中定義的函數。在C++

原创 C++學習筆記12-模板1

 1.  函數模板 函數模板是一個獨立於類型的函數,可作爲一種方式,產生函數的特定類型版本。   // implement strcmp-like generic compare function  // returns 0 if th

原创 C++學習筆記3

函數小結 :         函數是有名字的計算單元,對程序(就算是小程序)的結構化至關重要。函數的定義由返回類型、函數名、形參表(可能爲空)以及函數體組成。函數體是調用函數時執行的語句塊。在調用函數時,傳遞給函數的實參必須與相應的形參類

原创 C++學習筆記1

  1.  操作符的含義——該操作符執行什麼操作以及操作結果的類型——取決於操作數的類型。   2.  數組通過指針賦值 int ia[10]; ia[0] = 0;              // ok: subscript is a

原创 C++中出現的計算機術語3

ambiguous call(有二義性的調用) 一種編譯錯誤,當調用重載函數,找不到唯一的最佳匹配時產生。 arguments(實參) 調用函數時提供的值。這些值用於初始化相應的形參,其方式類似於初始 化同類型變量的方法。 automa

原创 指針和引用的比較

一 Reference 和指針的區別 雖然使用引用(reference)和指針都可間接訪問另一個值,但它們之間有兩個重要區別。第一個區別在於引用總是指向某個對象:定義引用時沒有初始化是錯誤的。第二個重要區別則是賦值行爲的差異:給引用賦值

原创 C++學習筆記5 容器

1.  assign and swap assign: 操作首先刪除容器中所有的元素,然後將其參數所指定的新元素插入到該容器中。與複製容器元素的構造函數一樣,如果兩個容器類型相同,其元素類型也相同,就可以使用賦值操作符(=)將一個容器賦值

原创 面試 Advent

由於某網站不能上傳超過2M的文件,本人上傳到圖片到另外一個站點上,然後引用過來。 在7月15號,我參加了Advent的面試。我一共經歷了七輪面試,兩輪電話面試,一輪做題,一輪真人面試,一輪HR,一輪Hire Manager,一輪大Bo

原创 C++學習筆記7

 1.  基於 const的重載 爲了解決這個問題,我們必須定義兩個display 操作:一個是const,另一個不是const。基於成員函數是否爲const,可以重載一個成員函數; 同樣地,基於一個指針形參是否指向const(第7.8.

原创 C++學習筆記13-類繼承

 1.  類模板的 static 成員[不同於C#中的static] 類模板可以像任意其他類一樣聲明static 成員。以下代碼: template <class T> class Foo { public: static std

原创 C++學習筆記8-操作符&指針

 1.  重載操作符 賦值操作符的返回類型應該與內置類型賦值運算返回的類型相同。內置類型的賦值運算返回對右操作數的引用,因此,賦值操作符也返回對同一類類型的引用。例如,Sales_item的賦值操作符可以聲明爲: class Sale