原创 《C++Primer》第十八章 用於大型程序的工具 第十八章 用於大型程序的工具

第十八章 用於大型程序的工具 異常處理 1. 拋出異常 在C++語言中,我們通過拋出throwing一條表達式來引發raised一個異常。當執行一個throw時,跟在throw後面的語句將不再被執行。相反,程序的控制權從throw轉移到與之

原创 《C++Primer》第十七章 標準庫特殊設施 第十七章 標準庫特殊設施

第十七章 標準庫特殊設施 tuple類型 tuple是類似pair的模板,每個pair的成員類型都不相同,但是每個pair恰好有兩個成員。我們希望將一些數據組合成單一對象,但又不想麻煩地定義一個新數據結構來表示這些數據,這時候就可以用到tu

原创 《C++Primer》第十三章 拷貝控制 第十三章 拷貝控制

第十三章 拷貝控制 簡介 當定義一個類時,我們顯式或者隱式地指定此類型對象拷貝、移動、賦值和銷燬時做什麼。一個類通過定義五種特殊的成員函數來控制這些操作: 拷貝構造函數copy constructor 拷貝賦值運算符copy-assig

原创 《C++Primer》第十五章 面向對象程序設計 第十五章 面向對象程序設計

第十五章 面向對象程序設計 概述 面向對象程序設計object-oriented programming的核心思想是數據抽象、繼承和動態綁定: 使用數據抽象,我們可以將類的接口與實現分離 使用繼承可以定義相似的類型並對其相似關係建模 使用

原创 《C++Primer》第十六章 模板與泛型編程 第十六章 模板與泛型編程

第十六章 模板與泛型編程 定義模板 1. 函數模板 模板定義以關鍵字template關鍵字開始,後面跟着一個模板參數列表(不能爲空): template <typename T> int compare(const T &v1, const

原创 《C++Primer》第十四章 重載運算與類型轉換 第十四章 重載運算與類型轉換

第十四章 重載運算與類型轉換 基本概念 當一個重載符是成員函數時,this綁定到左側運算對象,成員運算符的(顯式)參數數量比運算對象的數量少一個 運算符函數必須要麼是類的成員,要麼最少含有一個類類型的參數,不能爲int重定義內置的運算符

原创 《C++Primer》第九章 順序容器

簡介 容器指的是一些特定類型對象的集合,順序容器sequential container爲程序員提供了控制元素在存儲和訪問順序的能力。這種順序不依賴於元素的值,而是與元素加入容器時的位置相對應。 後面第十一章會介紹有序和無序關聯容器,會根

原创 《C++Primer》第十二章 動態內存

靜態內存、棧內存和堆 我們前面只提到了靜態內存或棧內存: 靜態內存:用來保存局部static、類static數據成員和定義在任何函數之外的變量 棧內存:保存定義在函數內的非static對象 分配在靜態內存或者棧內存的對象由編譯器自動創建

原创 《C++Primer》第八章 IO庫

IO類 前面提到的IO類型和對象都是操縱char數據的,並且都是關聯到用戶的控制檯窗口的。我們還有其他IO需求: 除了從控制檯進行IO操作,應用程序還經常需要讀寫文件 除了操縱char數據還需要操縱string 爲了支持上述操作,在i

原创 《C++Primer》第十一章 關聯容器

簡介 標準庫提供8個關聯容器: map:關聯數組 set:只保存關鍵字 multimap:關鍵字可重複出現的map multiset:關鍵字可重複出現的set unordered_map:用哈希函數組織的map unor

原创 《C++Primer》第十章 泛型算法

概述 標準庫沒有爲每個順序容器都定義成員函數來實現諸如查找特定元素、替換或刪除一個特定值、重排元素順序等操作,而是定義了一組泛型算法generic algrithm: 算法:實現了一些經典算法的公共接口,如排序和搜索 泛型:可以用於不同類

原创 《C++Primer》第六章 函數

函數基礎 函數調用完成兩項工作:一是實參初始化函數對應的形參,二是將控制權轉移給被調用函數。此時主調函數的執行被暫時中斷,被調函數開始執行 實參是形參的初始值,我們可以用double型的實參初始化int型的形參,但存在精度丟失的問題 函數

原创 《C++Primer》第七章 類

簡介 類的基本思想是數據抽象data abstraction和封裝encapsulation。數據抽象是一種依賴於接口interface和實現implementation分離的編程技術。類的接口包括用戶所能執行的操作;類的實現則包括類的數據

原创 《C++Primer》第五章 語句

寫這篇文章的目的 身爲C++的零基礎初學者,短期內把《C++Primer》啃下來是一個比較笨但是有效的方法,一方面可以掌握比較規範的C++語法(避免被項目中亂七八糟的風格帶跑偏),另一方面又可以全面地瞭解C++語法以及C++11新標準(後續

原创 《C++Primer》第四章 表達式

寫這篇文章的目的 身爲C++的零基礎初學者,短期內把《C++Primer》啃下來是一個比較笨但是有效的方法,一方面可以掌握比較規範的C++語法(避免被項目中亂七八糟的風格帶跑偏),另一方面又可以全面地瞭解C++語法以及C++11新標準(後續