第2章 變量和基本類型

  1. 算術類型在不同的機器上有尺寸有所差別
類型 含義 最小尺寸
bool 布爾類型 未定義
char 字符 8位
wchar_t 寬字符 16位
char16_t Unicode字符 16位
char32_t Unicode字符 36位
short 短整型 16位
int 整形 16位
long 長整型 32位
long long 長整型 64位
float 單精度浮點數 6位有效數字
double 雙精度浮點數 10位有效數字
long double 擴展精度浮點數 10位有效數字

除了char的一些擴展其他都在C里面學習過

char 的空間可確保存放機器基本字符集中任意字符晴股。
其他字符用于擴展字符集椿胯。

  1. 類型轉換
#include <iostream>

int main(void)
{
    bool b = 42; //為真。初始值負0才為假
    int i = b;  //i = 1; 當把布爾值給非布爾值是胶滋。初始為0替蔬,結果為false肴甸。為true則1
    i = 3.14;   //i = 3; 直接截斷了
    double pi = i; //pi = 3.0 進行類型轉換
    unsigned char c = -1; //c = 255; 無符號類型沒有負數蹄溉。8比特的char賦給他負數就是咨油。1 % 256的余數
    signed char c2 = 256;//超出都是未定義的
    return 0;
}
  1. 當無符號對象和有符號對象相加時,有符號對象會轉換成無符號對象柒爵。這時有負數就十分危險
前綴 含義 類型
u unicode 16字符 char16_t
U Unicode 32字符 char32_t
L 寬字符 wchar_t
u8 UTF(僅用于字符串字面常量) char
  1. 默認初始化:定義在所有函數外部的的變量被初始化為0.而在函數內部的內置類型變量將不被初始化役电。就是未定義的。

  2. 引用

    • 引用就是為對象起了另外一個名字棉胀,當引用改變時法瑟,對象也改變
    • 引用必須被初始化
    • 引用類型的初始值囱晴,必須是一個對象且引用必須引用相同類型
int i = 1024;
int &r = i;    //&是引用符
  1. 指針

    • 指針本身便是一個對象,允許對指針賦值和拷貝
    • 指針和其他內置類型一樣瓢谢,在快作用域內定義的指針如果沒被初始化,也是一個不確定的值驮瞧。所有在使用指針是氓扛,當不確定要指向何處是先將他變成空指針
    • C++空指針方法
int *p1 = nullptr;
int *p2 = 0;
int *p2 = NULL;   //需要包含#include cstdlib
指針和引用的主要區(qū)別
  • 引用必須初始化,指針不需要
  • 引用一旦初始化完畢便不能更改论笔,指針不需要
  • 指針是一個對象采郎,而引用不是
  • 使用sizeof看指針的大小是4,而引用是被引用對象的大小
  1. auto類型說明符:由編譯器根據值推斷類型狂魔。同一行auto必須是相同類型蒜埋。
  2. decltype:從表達式推斷定義的變量類型
    練習2.1:類型int、long最楷、long long和short的區(qū)別是什么整份?無符號類型和帶符號類型的區(qū)別是什么?float和double的區(qū)別是聲明籽孙。
    int和long的區(qū)別是存儲數字的范圍烈评。
    無符號和帶符號區(qū)別是能不能存儲負數。
    float和double能存小數點后多少位犯建。double更長

練習2.3:讀寫結果

#include <iostream>

int main(void)
{
    unsigned u = 10, u2 = 42;
    std::cout << u2 - u << std::endl;  //10
    std::cout << u - u2 << std::endl;  //一個取模后的結果

    int i = 10, i2 = 42;
    std::cout << i2 - i << std::endl; //32
    std::cout << i - i2 << std::endl;//-32
    std::cout << i - u << std::endl; //0
    std::cout << u - i << std::endl;//0
}

練習2.15:下面哪個定義是不合法的讲冠?為什么?

    int ival = 1.01;          //合法适瓦,小數點后面會被截斷竿开,但是不要這么定義
    int &rval1 = 1.01;      //不合法,引用必須是一個對象
    int &r = ival;        //合法
    int &rval3;           //不合法引用必須初始化
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末玻熙,一起剝皮案震驚了整個濱河市否彩,隨后出現的幾起案子,更是在濱河造成了極大的恐慌揭芍,老刑警劉巖胳搞,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異称杨,居然都是意外死亡肌毅,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門姑原,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悬而,“玉大人,你說我怎么就攤上這事锭汛”康欤” “怎么了袭蝗?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長般婆。 經常有香客問我到腥,道長,這世上最難降的妖魔是什么蔚袍? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任乡范,我火速辦了婚禮,結果婚禮上啤咽,老公的妹妹穿的比我還像新娘晋辆。我一直安慰自己,他們只是感情好宇整,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布瓶佳。 她就那樣靜靜地躺著,像睡著了一般鳞青。 火紅的嫁衣襯著肌膚如雪霸饲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天盼玄,我揣著相機與錄音贴彼,去河邊找鬼。 笑死埃儿,一個胖子當著我的面吹牛器仗,可吹牛的內容都是我干的。 我是一名探鬼主播童番,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼精钮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了剃斧?” 一聲冷哼從身側響起轨香,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幼东,沒想到半個月后臂容,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡根蟹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年脓杉,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片简逮。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡球散,死狀恐怖,靈堂內的尸體忽然破棺而出散庶,到底是詐尸還是另有隱情蕉堰,我是刑警寧澤凌净,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站屋讶,受9級特大地震影響冰寻,放射性物質發(fā)生泄漏。R本人自食惡果不足惜皿渗,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一性雄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羹奉,春花似錦、人聲如沸约计。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽煤蚌。三九已至耕挨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尉桩,已是汗流浹背筒占。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜘犁,地道東北人翰苫。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像这橙,于是被迫代替她去往敵國和親奏窑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容