一門(mén)編程語(yǔ)言如何理解遵班?

是誰(shuí)在死記硬背學(xué)編程屠升?

沒(méi)錯(cuò)潮改,是我!

記得剛開(kāi)始學(xué)編程那會(huì)兒腹暖,沒(méi)有任何計(jì)算機(jī)基礎(chǔ)汇在,編程語(yǔ)法大多靠背——C++語(yǔ)法,操作系統(tǒng)各項(xiàng)定義脏答,計(jì)算機(jī)網(wǎng)絡(luò)各種協(xié)議......

后來(lái)我發(fā)現(xiàn)糕殉,不只我一個(gè)人這樣學(xué)習(xí),身邊不少同學(xué)都是如此殖告,認(rèn)為學(xué)習(xí)一門(mén)編程語(yǔ)言最重要的就是掌握其語(yǔ)法糙麦。所以為了將語(yǔ)法爛熟于心,最直接的方法就是記憶丛肮。

我們記憶了什么是常量,什么是作用域魄缚,什么是多態(tài)......

看到這里你可能覺(jué)得我會(huì)說(shuō):編程語(yǔ)言不重要宝与,編程思維才是最重要的,那么問(wèn)題來(lái)了冶匹,到底什么才是編程思維呢习劫?我并不是來(lái)宣揚(yáng)這句編程屆名言的,因?yàn)樗贿m合一個(gè)初學(xué)者嚼隘,初學(xué)者可能既不知道什么是編程思維诽里,也對(duì)編程語(yǔ)言比較生疏。

我想分享的是:學(xué)習(xí)編程語(yǔ)言的語(yǔ)法確實(shí)很重要飞蛹,只有理解谤狡、熟悉了語(yǔ)法才能更好地應(yīng)用一門(mén)編程語(yǔ)言,所以我們?nèi)ケ痴b記憶編程語(yǔ)言的語(yǔ)法也是可以理解的卧檐,不過(guò)這可能不是最好的辦法墓懂。

光憑記憶語(yǔ)法,是很難學(xué)會(huì)編程的霉囚,反而是用這門(mén)編程語(yǔ)言一段時(shí)間之后再回過(guò)頭看看那些語(yǔ)法捕仔,說(shuō)不定突然就理解了。

其實(shí)編程語(yǔ)言的語(yǔ)法也是可以通過(guò)理解來(lái)學(xué)習(xí)的盈罐。

舉一個(gè)我大學(xué)時(shí)剛學(xué)C++時(shí)遇到的一個(gè)語(yǔ)法問(wèn)題:我們稱(chēng)它為const問(wèn)題榜跌。

可能有同學(xué)沒(méi)有學(xué)過(guò)C++,我簡(jiǎn)單解釋一下盅粪,const是一個(gè)C++的關(guān)鍵字钓葫,最常用來(lái)定義常量。譬如:

const int MAX_VAL = 23票顾;

const string SCHOOL_NAME = “Peking University” ;

那么我們把MAX_VAL稱(chēng)為整型常量瓤逼,把SCHOOL_NAME稱(chēng)為字符串常量笼吟,這些常量在其生命周期內(nèi)其值都不能被修改。


上面兩個(gè)語(yǔ)句是很好理解的霸旗,再看看下面的呢贷帮?

const int * p=&n;

int * const p;

const int *const p;

上面三個(gè)語(yǔ)句看起來(lái)就不是那么好理解了吧?我剛學(xué)習(xí)const語(yǔ)句的時(shí)候也被這些復(fù)雜的語(yǔ)句給難到了诱告,只能死記硬背撵枢,按順序,這三個(gè)語(yǔ)句分別是:

const int * p=&n; //指向整型常量的指針精居,它指向的值不能修改

int * const p; //指向整型的常量指針?锄禽,它不能再指向別的變量,但指向(變量)的值可以修改

const int *const p; //指向整型常量的常量指針靴姿,它既不能再指向別的常量沃但,指向的值也不能修改

很明顯,p是一個(gè)指針佛吓,并且指向常量宵晚,這兩點(diǎn)大家都能輕而易舉地看明白。難點(diǎn)就是const到底控制著誰(shuí)维雇,誰(shuí)不能被修改淤刃?

之前遇到這種問(wèn)題我也是死記硬背的,不過(guò)后來(lái)就慢慢地理解它了吱型,因?yàn)镃++作為一門(mén)流行了那么久逸贾,那么多人用的編程語(yǔ)言,這其中一定有它的設(shè)計(jì)哲學(xué)津滞。


問(wèn)題來(lái)了铝侵,如何去理解呢?

很簡(jiǎn)單触徐,const修飾誰(shuí)哟沫,誰(shuí)的值就不能變,這其實(shí)和英語(yǔ)中不同詞性單詞的位置排列一樣锌介。對(duì)于一個(gè)名詞嗜诀,我們找離它最近的const。

如下面飄紅的詞:

const?int?* p = &a;

int * const p?= &a;

第一個(gè)const修飾的是 int 孔祸,int指代的是整型變量隆敢,也就意味著,指針p指向的值是不能修改的崔慧,也就是a的值不能變拂蝎,但是p還可以指向別的變量,比如說(shuō)指向b惶室。

第二個(gè)const修飾的是p温自,p指代的是指針玄货,也就意味著這個(gè)指針不能被修改,因?yàn)橹羔樧兞看娴氖堑刂返棵冢簿褪钦f(shuō)p存了一個(gè)地址后就不能存其他地址了松捉,換句話說(shuō)就是它不能指向別的變量了,但是p指向的變量的值可以改變馆里。比如p指向a隘世,a原來(lái)等于1,現(xiàn)在我們可以把a(bǔ)的值改為2鸠踪,但是p在生命周期內(nèi)只能指向a丙者,不能指向b或者其他值。

那么const int *const p 就很好理解了营密,它指向的值不能修改械媒,也不能再指向別的變量。

感興趣的同學(xué)還可以用這個(gè)套路去理解一下 const this 指針评汰,看看是不是適用呢纷捞?

以上用一個(gè)小例子分享了一下如何去理解一門(mén)編程語(yǔ)言,其實(shí)可以通過(guò)理解學(xué)習(xí)編程的地方還有很多键俱,比如形參、實(shí)參世分、傳值编振、傳引用、函數(shù)指針臭埋、友元踪央、多態(tài)、重載等等等等瓢阴,大家都可以嘗試換種思路去理解畅蹂,很多知識(shí)點(diǎn)一下子就能明白啦。


我們需要記住荣恐,學(xué)習(xí)編程的出發(fā)點(diǎn)不是應(yīng)付考試液斜。

當(dāng)然,除了編程語(yǔ)言叠穆,很多其他的知識(shí)少漆,如軟件分層、設(shè)計(jì)模式硼被,都是水到渠成式的設(shè)計(jì)示损。

大家別忘了點(diǎn)個(gè)贊喲!

在學(xué)習(xí)python中有任何困難不懂的可以加入我的python交流學(xué)習(xí)QQ群:932749660嚷硫,多多交流問(wèn)題检访,互幫互助始鱼,群里有不錯(cuò)的學(xué)習(xí)教程和開(kāi)發(fā)工具。資源分享

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脆贵,一起剝皮案震驚了整個(gè)濱河市医清,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丹禀,老刑警劉巖状勤,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異双泪,居然都是意外死亡持搜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)焙矛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)葫盼,“玉大人,你說(shuō)我怎么就攤上這事村斟∑兜迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵蟆盹,是天一觀的道長(zhǎng)孩灯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)逾滥,這世上最難降的妖魔是什么峰档? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮寨昙,結(jié)果婚禮上讥巡,老公的妹妹穿的比我還像新娘。我一直安慰自己舔哪,他們只是感情好欢顷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著捉蚤,像睡著了一般抬驴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缆巧,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天怎爵,我揣著相機(jī)與錄音,去河邊找鬼盅蝗。 笑死鳖链,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芙委,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逞敷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了灌侣?” 一聲冷哼從身側(cè)響起推捐,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侧啼,沒(méi)想到半個(gè)月后牛柒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痊乾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年皮壁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哪审。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蛾魄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出湿滓,到底是詐尸還是另有隱情滴须,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布叽奥,位于F島的核電站扔水,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏朝氓。R本人自食惡果不足惜魔市,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膀篮。 院中可真熱鬧嘹狞,春花似錦岂膳、人聲如沸誓竿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)筷屡。三九已至,卻和暖如春簸喂,著一層夾襖步出監(jiān)牢的瞬間毙死,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工喻鳄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扼倘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像再菊,于是被迫代替她去往敵國(guó)和親爪喘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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