c++ 雜篇 未整理

術(shù)語(yǔ)“流”(stream)想要表達(dá)的是,隨著時(shí)間的推移,字符是順序生成或消耗

寫(xiě)入endl的效果是結(jié)束當(dāng)前行雇逞,并將與設(shè)備關(guān)聯(lián)的緩沖區(qū)(buffer)中的內(nèi)容刷到設(shè)備中

前綴std::指出名字cout和endl是定義在名為std的命名空間(namespace)中的。命名空間可以幫助我們避免不經(jīng)意的名字定義沖突,以及使用庫(kù)中相同名字導(dǎo)致的沖突柜去。

作用域運(yùn)算符(::)

類定義了行為(類定義了對(duì)象可以執(zhí)行的所有動(dòng)作)

成員函數(shù)(member function) 是定義為類的一部分的函數(shù),有時(shí)也被稱為方法(method)拆宛。

點(diǎn)運(yùn)算符(.)只能用于類類型的對(duì)象

調(diào)用運(yùn)算符(())來(lái)調(diào)用一個(gè)函數(shù)嗓奢。調(diào)用運(yùn)算符是一對(duì)圓括號(hào)

條件(condition)求值結(jié)果為真或假的表達(dá)式。通常用值0表示假浑厚,用非零值表示真

數(shù)據(jù)類型是程序的基礎(chǔ):它告訴我們數(shù)據(jù)的意義以及我們能在數(shù)據(jù)上執(zhí)行的操作

一個(gè)char的空間應(yīng)確惫傻ⅲ可以存放機(jī)器基本字符集中的任意字符對(duì)應(yīng)的數(shù)字值。也就是說(shuō)钳幅,一個(gè)char的大小和一個(gè)機(jī)器字節(jié)一樣物蝙。

為了賦予內(nèi)存中某個(gè)地址明確的含義,必須首先知道內(nèi)存在該地址的數(shù)據(jù)的類型敢艰。類型決定了數(shù)據(jù)所占的比特?cái)?shù)以及該如何解釋這些比特的內(nèi)容诬乞。

大多數(shù)程序員能夠(也應(yīng)該)對(duì)數(shù)據(jù)類型的使用做出限定從而簡(jiǎn)化選擇的過(guò)程。

  • 當(dāng)明確知曉數(shù)值不可能為負(fù)時(shí)钠导,選用無(wú)符號(hào)類型
  • 使用int執(zhí)行整數(shù)運(yùn)算
  • 在算數(shù)表達(dá)式中不要使用char或bool震嫉,因?yàn)閏har在一些機(jī)器上是有符號(hào),另一些機(jī)器上可能沒(méi)有符號(hào)牡属。如果需要使用一個(gè)不大的整數(shù)票堵,可以明確指定類型是signed char 或者unsigned char
  • 執(zhí)行浮點(diǎn)數(shù)運(yùn)算選double

把一個(gè)布爾值賦值給非布爾類型是,初始值為false則結(jié)果為0逮栅,初始值為true則結(jié)果為1

當(dāng)我們賦給無(wú)符號(hào)類型一個(gè)超出它表示范圍的值時(shí)悴势,結(jié)果是初始值對(duì)無(wú)符號(hào)類型表示數(shù)值的總數(shù)取模后的余數(shù)窗宇。 把 -1賦值給8bit大小的unsigned char所得的結(jié)果是255

計(jì)算機(jī)中數(shù)值按補(bǔ)碼存儲(chǔ)的,-1的原碼是10000001(有符號(hào)8位)瞳浦,補(bǔ)碼(反碼+1):11111111担映。所以直接賦值給unsigned char, 11111111等于255。

變量提供一個(gè)具名的叫潦,可供程序操作的儲(chǔ)存空間蝇完。c++中的每個(gè)變量都有其數(shù)據(jù)類型,數(shù)據(jù)類型決定著變量所占內(nèi)存空間的大小和布局方式矗蕊、該空間能存儲(chǔ)的值的范圍短蜕,以及變量能參與的運(yùn)算。對(duì)c++程序員來(lái)說(shuō)傻咖,“變量”(variable)和“對(duì)象”(object)一般可以互換使用朋魔。

對(duì)象是指一塊能存儲(chǔ)數(shù)據(jù)并具有某種類型的內(nèi)存空間

初始化不是賦值,初始化的含義是創(chuàng)建變量時(shí)賦予其一個(gè)初始值卿操,而賦值的含義是把對(duì)象的當(dāng)前值擦除警检,而以一個(gè)新值來(lái)替代。

如果想聲明一個(gè)變量而非定義它害淤,就在變量名前添加關(guān)鍵字extern扇雕,而且不要顯式地初始化變量:
extern int i; //聲明i 而非定義i
extern double pi = 3.1416; // 定義
在函數(shù)體內(nèi)部,如果試圖初始化一個(gè)由extern關(guān)鍵字標(biāo)記的變量窥摄,將引發(fā)錯(cuò)誤
變量能且只能被定義一次镶奉,但是可以被多次聲明

通常將聲明符寫(xiě)成&d的形式來(lái)定義引用類型

int val = 1024;
int &refVal = val;  //refVal指向val (是val的另一個(gè)名字)
int &refVal2; //報(bào)錯(cuò):引用必須被初始化
int &refVal3 = refVal // refVal3綁定到了那個(gè)與refVal綁定的對(duì)象上,這里就是綁定到val上

引用并非對(duì)象崭放,相反的哨苛,它只是為一個(gè)已經(jīng)存在的對(duì)象所起的另外一個(gè)名字。
因?yàn)橐帽旧聿皇且粋€(gè)對(duì)象币砂,所以不能定義引用的引用
引用只能綁定在對(duì)象上建峭,而不能與字面值或某個(gè)表達(dá)式的計(jì)算結(jié)果綁定在一起。

指針(pointer)是“指向”(point to)另外一種類型的符合類型决摧。與引用類似迹缀,指針也實(shí)現(xiàn)了對(duì)其他對(duì)象的間接訪問(wèn)。然而指針與引用相比又有很多不同點(diǎn)蜜徽。

  • 指針本身就是一個(gè)對(duì)象,允許對(duì)指針賦值和拷貝票摇,而且在指針的生命周期內(nèi)他可以先后指向幾個(gè)不同的對(duì)象拘鞋。
  • 指針無(wú)須在定義時(shí)賦初值。和其它內(nèi)置類型一樣矢门,在塊作用域內(nèi)定義的指針如果沒(méi)有被初始化盆色,也將擁有一個(gè)不確定的值灰蛙。

獲取對(duì)象的地址
指針存放某個(gè)對(duì)象的地址,要想獲取該地址隔躲,需要使用取地址符(操作符&)

int ival = 42;
int *p = &ival;  // p存放變量ival的地址摩梧,或者說(shuō)p是指向變量ival的指針

引用不是對(duì)象,沒(méi)有實(shí)際地址宣旱,所以不能定義指向引用的指針

如果指針指向了一個(gè)對(duì)象仅父,則允許使用解引用符(操作符*)來(lái)訪問(wèn)改對(duì)象

int ival =42 ;
int *p = &ival;  // p存放著變量ival的地址,或者說(shuō)p是指向變量ival的指針
cout << *p   // 由符號(hào)*得到指針p所指的對(duì)象浑吟,輸出42

*p = 0;  //有符號(hào)*得到指針p所指向的對(duì)象笙纤,即可經(jīng)由p為變量ival賦值
cout << *p;   //輸出0

指針和引用都能提供對(duì)其他對(duì)象的間接訪問(wèn),然后在具體實(shí)現(xiàn)細(xì)節(jié)上二者有很大的不同组力,其中最重要的一點(diǎn)就是引用本身并非一個(gè)對(duì)象省容。一旦定義了引用,就無(wú)法令其再綁定到另外的對(duì)象燎字,之后每次使用這個(gè)引用都是訪問(wèn)它最初綁定的那個(gè)對(duì)象腥椒。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市候衍,隨后出現(xiàn)的幾起案子笼蛛,更是在濱河造成了極大的恐慌,老刑警劉巖脱柱,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伐弹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡榨为,警方通過(guò)查閱死者的電腦和手機(jī)惨好,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)随闺,“玉大人日川,你說(shuō)我怎么就攤上這事【乩郑” “怎么了龄句?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)散罕。 經(jīng)常有香客問(wèn)我分歇,道長(zhǎng),這世上最難降的妖魔是什么欧漱? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任职抡,我火速辦了婚禮,結(jié)果婚禮上误甚,老公的妹妹穿的比我還像新娘缚甩。我一直安慰自己谱净,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布擅威。 她就那樣靜靜地躺著壕探,像睡著了一般。 火紅的嫁衣襯著肌膚如雪郊丛。 梳的紋絲不亂的頭發(fā)上李请,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音宾袜,去河邊找鬼捻艳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛庆猫,可吹牛的內(nèi)容都是我干的认轨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼月培,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嘁字!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起杉畜,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纪蜒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后此叠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纯续,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年灭袁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猬错。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茸歧,死狀恐怖倦炒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情软瞎,我是刑警寧澤逢唤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站涤浇,受9級(jí)特大地震影響鳖藕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜只锭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一吊奢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦页滚、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至片挂,卻和暖如春幻林,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背音念。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工沪饺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闷愤。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓整葡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親讥脐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遭居,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,519評(píng)論 1 51
  • 基本內(nèi)置類型 算術(shù)類型字符整型布爾值浮點(diǎn)數(shù) 空類型(void) 算術(shù)類型 帶符號(hào)類型和無(wú)符號(hào)類型int俱萍、short...
    2625K閱讀 3,185評(píng)論 0 1
  • 2.變量和基本類型 3.字符串、向量和數(shù)組 4.表達(dá)式 5.語(yǔ)句 2.變量和基本類型 c++的算術(shù)類型: 一個(gè)ch...
    暮落晴空閱讀 657評(píng)論 0 0
  • 指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類型告丢。 運(yùn)用指針編程是C語(yǔ)言最主要的風(fēng)格之一枪蘑。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,446評(píng)論 3 44
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,103評(píng)論 1 32