C++ primer筆記 -基本語言

C++最重要的特徵是類,程序員可使用類自定義數據類型,C++有時候將這些類型稱爲「類類型」,以區別於內置類型。ios

類型做用:程序員

一、告訴咱們數據表明的是什麼意思函數

二、對數據能夠執行哪些操做佈局

 

算數類型:整數、單個字符、布爾值(整型)和浮點數(浮點型)。C++標準規定了每一個算術類型的最小存儲空間,但它並不阻止編譯器使用更大的存儲空間。(限制了最小的但沒有限制最大的)spa

C++程序員一般把變量稱爲「變量」或者「對象」。code

變量的類型做用:對象

一、決定了變量的內存大小和佈局blog

二、可以存儲與該內存中的值的取值範圍以及在該變量上的操做集內存

左值和右值的區別:作用域

左值就是變量的地址,或者一個表明「對象在內存中的位置」的表達式。

右值就是變量的值。

左值能夠出如今賦值語句的左邊或者右邊,但右值只能出如今右邊

1 int k =0;
2 int j = k;

k做爲一個變量,能夠出如今左邊或者右邊。變量是一個左值

 

 變量的定義是爲變量分配存儲空間,還能夠爲變量指定初始值。

聲明用於向程序代表變量的類型和名字,通常使用關鍵字extern來聲明。

 

初始化:複製初始化和直接初始化

1 int k(1024);  //複製初始化
2 int k = 1024; //直接初始化

對類類型來講,每一個類會定義或者使用默認的構造函數來進行成員變量的初始化。

extern關鍵字是聲名變量名而不是定義它,說明變量的定義在函數的其餘地方,在程序中變量能夠聲明屢次,但只能定義一次。

做用域:全局做用域、局部做用域和語句做用域。

 1 #include<iostream>
 2 int g_sum;  //全局做用域
 3 int main()
 4 {
 5     int sum =0;  //局部做用域
 6     for(int val =1;val != 112;val++) //val 語句做用域
 7      sum += val;
 8    std::cout << "Sum=「 <<sum <<std::endl;
 9    return 0;   
10 }

常量const 在定義時,必須給予初始化,並在之後不容許被修改。

在全局做用域中聲明的const變量是定義該對象的文件局部變量,次變量只存在於那個文件中,不能被其餘文件訪問。要使const變量可以被其餘文件訪問,必須使用extern顯示的指出來。eg:

1 text.cpp 
2 const k= 100;  //這個只能在text.cpp中訪問
3 
4 text2.cpp
5 extern const k =100; //這個能夠被任意文件訪問

 

typedefy 用來定義類型的同義詞

 

枚舉 enum ,默認第一個枚舉成員的賦值爲0,後面的內個成員都比前面的大1.

enum Point{
point1,point2,point3,point4
};

Point pt = point1;
Point ptd =pt;

枚舉類型的對象初始化或者賦值,只能經過其枚舉成員或者同一枚舉類型的其餘對象來進行。

 

類:

類定義了組成該類型的數據(成員變量)和操做(成員函數)。定義了類就至關於定義了一個新的類型,該類型的名字就是類名。

當利用這個類名定義一個對象時,則每一個對象所佔據的存儲空間只與該對象數據成員所佔據的存儲空間有關係,與成員函數無關。

變量定義用於爲變量分配存儲空間,還能夠爲變量指定初始化的值,在一個程序中,變量有且只有一個定義。

定義變量和定義數據成員有很是重要的區別:通常不能把類成員的初始化做爲其定義的一部分。當定義數據成員時,只能指定該數據成員的名字和類型。類不是在類定義裏定義數據成員時初始化數據成員而是經過構造函數來初始化(成員列表或者構造函數體內進行賦值初始化)。

使用class與stuct定義類的區別僅僅是影響默認初始訪問的級別,class默認訪問的是pricate,stuct默認訪問的是public。

相關文章
相關標籤/搜索