原创 C++ 類和對象

1、結構體的擴充 在C語言中,我們都學過結構體,它是一種自定義的數據類型,在結構體中我們只能定義變量 。C++語言對結構體進行了擴充,提供了一種更加安全有效的數據類型,它不僅可以在其中定義變量,還可以包含函數,這就是C++中的類。

原创 C++析構函數

析構函數 一、作用 在對象的聲生命週期結束時,做一些清理工作,列如:釋放給對象分配的內存空間。 二、定義 ~類名() { 函數體 } 三、特點 函數名和類名相同 函數名前需要加上~ 沒有函數參數 無返回值 在一個類中只能有一

原创 C++拷貝構造函數

拷貝構造函數 一、作用 在建立一個新的對象時,用一個已經存在的對象去初始化這個新建立的對象。 二、定義 類名 (const 類名& 對象名) { 函數體 } 舉例說明: class Date { public: Date

原创 C++常類型

在C++中雖然使用了許多手段去增加數據的安全性,但是有些數據是卻是需要共享的,所以這些共享的數據不免便破壞了數據的安全性。於是爲了解決這樣的情況,於是便出現了常類型。常類型的引入,既保證了數據的共享性又保證了數據的安全性。所謂的常

原创 內存對齊規則

內存對齊規則 一、規則介紹 (1)第一個成員變量在結構體變量偏移量爲0的地址處 (2)其他成員變量要對齊到對齊數的整數倍的地址處 對齊數 = 編譯器默認的一個對齊數與該成員大小的較小值。 VS中默認的值爲8 Linux中的默認值爲

原创 C++ 指針空值nullptr

1、NULL 在良好的C/C++編程習慣中,聲明一個變量時應該給該變量一個合適的初始值,否則可能會出現不可預料的錯誤,比如未初始化的指針。如果一個指針沒有合法的指向,我們基本都是按照如下方式對其進行初始化: void TestPtr(

原创 C++ 類型指示符(auto)

1、auto的概念 在C++11中,auto不再是一個存儲類型指示符,而是作爲一個新的類型指示符來指示編譯器,auto聲明的變量必須由編譯器在編譯時期推導而得。 2、auto的使用 實列說明: int main() { int x

原创 C++ 內聯函數

1、內聯函數的概念 在函數說明前冠以關鍵字inline的函數。列如: inline int func(int x,int y); 2、編譯器是如何對待內聯函數的? 每當程序中出現對該函數的調用時,編譯器編譯時,就會將該函數的函數體全