欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

C++說(shuō)愛(ài)你不容易-2

C++軟件與嵌入式軟件面經(jīng)解析大全(蔣豆芽的秋招打怪之旅)


本章講解點(diǎn)

  • 1.1 C++與C的區(qū)別——看看你的理解是否深刻
  • 1.2 從代碼到可執(zhí)行文件的過(guò)程
  • 1.3 extern "C"
  • 1.4 宏——到底是什么
  • 1.5 內(nèi)聯(lián)函數(shù)
  • 1.6 條件編譯
  • 1.7 字節(jié)對(duì)齊詳解
  • 1.8 Const——今天必須把它搞懂
  • 1.9 Static作用
  • 1.10 volatile和mutable
  • 1.11 volatile在嵌入式里的應(yīng)用
  • 1.12 原子操作
  • 1.13 指針與引用的區(qū)別
  • 1.14 右值引用
  • 1.15 面向?qū)ο蟮木幊趟枷?
  • 1.16 類(lèi)
  • 1.17 類(lèi)的成員
  • 1.18 友元函數(shù)
  • 1.19 初始化列表
  • 1.20 this指針
  • 1.21 繼承
  • 1.22 多態(tài)
  • 1.23 虛函數(shù)與重寫(xiě)
  • 1.24 虛構(gòu)造函數(shù)與虛析構(gòu)函數(shù)
  • 1.25 函數(shù)重載
  • 1.26 操作符重載
  • 1.27 迭代器與指針
  • 1.28 模板
  • 1.29 C++智能指針
  • 1.30 四種cast轉(zhuǎn)換
  • 1.31 Lambda
  • 1.32 function和bind

受眾:本教程適合于C/C++已經(jīng)入門(mén)的學(xué)生或人士,有一定的編程基礎(chǔ)。

本教程適合于互聯(lián)網(wǎng)、嵌入式軟件求職的學(xué)生或人士。

img

故事背景

img

蔣 豆 芽:小名豆芽,芳齡十八,蜀中人氏。卑微小碩一枚,科研領(lǐng)域茍延殘喘,研究的是如何炒好一盤(pán)豆芽。與大多數(shù)人一樣,學(xué)習(xí)道路永無(wú)止境,間歇性躊躇滿(mǎn)志,持續(xù)性混吃等死。會(huì)點(diǎn)編程,對(duì)了,是面對(duì)對(duì)象的那種。不知不覺(jué)研二到找工作的時(shí)候了,同時(shí)還在忙論文,豆芽都禿了,不過(guò)豆芽也沒(méi)頭發(fā)啊。

隔壁老李:大名老李,蔣豆芽的好朋友,技術(shù)高手,代碼女神。給了蔣豆芽不少的人生指導(dǎo)意見(jiàn)。

導(dǎo) 師:蔣豆芽的老板,研究的課題是每天對(duì)豆芽噓寒問(wèn)暖。

img

故事引入

img

“中國(guó)土豆科技大學(xué)一研三學(xué)生因論文壓力太大,跳樓輕生,家長(zhǎng)指責(zé)導(dǎo)師故意延畢?!倍寡繉⑦@條新聞推送到了微信朋友圈,并配文:默哀。我也壓力好大啊。


導(dǎo) 師:(試探)豆芽,你這實(shí)驗(yàn)盡力做就行了,你也別壓力大,慢慢來(lái)嘛。

蔣 豆 芽:老師,我壓力好大啊,也想把實(shí)驗(yàn)做出來(lái),不然辜負(fù)了您的一片諄諄教導(dǎo)。

導(dǎo) 師:不用壓力大,周末好好休息下,實(shí)驗(yàn)慢慢做就行了。

蔣 豆 芽:好的?。ǘ寡磕樕闲ξ?,心里小感動(dòng),老師蠻好的。實(shí)驗(yàn)要繼續(xù)加油?。?/p>

蔣 豆 芽:(吹著口哨)我得兒意的笑,我得兒意的笑。。。。。。

隔壁老李:?jiǎn)眩寡?,什么事啊這么開(kāi)心,不用搞實(shí)驗(yàn)了?

蔣 豆 芽:別介,老李。我回顧你上次跟我講的宏,在C++中,盡量使用const去替代非參數(shù)宏命令,這樣大大增強(qiáng)我們程序的健壯性。我今天在思考,const是什么樣的機(jī)制呢,為什么可以做到不變?還有,const有哪些應(yīng)用場(chǎng)景呢?

隔壁老李:(嘖嘖嘖)喲,芽別三日,當(dāng)刮目相待啊,開(kāi)始學(xué)會(huì)思考知識(shí)點(diǎn)了,沒(méi)錯(cuò),找工作中,面試只是一個(gè)過(guò)程,這不僅僅是應(yīng)試,學(xué)知識(shí)不是應(yīng)付找工作,而是真正提升自己的技術(shù)能力,學(xué)會(huì)思考知識(shí)點(diǎn)背后的原理,掌握知識(shí)點(diǎn)的核心,才是找工作給予我們的最大的啟示。(語(yǔ)重心長(zhǎng))憑這一點(diǎn),豆芽,你成熟了,不枉為父諄諄教導(dǎo)。

蔣 豆 芽:老李,說(shuō)話(huà)就說(shuō)話(huà),別占我便宜好嗎?

隔壁老李:(嘿)哈哈。哦?不想聽(tīng)啊,不想聽(tīng)算了唄。

蔣 豆 芽:爸爸!

隔壁老李:哈哈,好啦,跟你開(kāi)玩笑的。今天我們先來(lái)聊聊const,說(shuō)const之前,我們要先說(shuō)說(shuō)常量,什么是常量呢?

常量是一種標(biāo)識(shí)符,它的值在運(yùn)行期間恒定不變。C語(yǔ)言和C++中都可以用#define來(lái)定義常量(稱(chēng)宏常量)。除此之外,C++語(yǔ)言還可以用const來(lái)定義常量(稱(chēng)const常量),就是我們今天要說(shuō)到的主角了。那么豆芽我問(wèn)問(wèn)你,我們?yōu)槭裁葱枰A浚?/p>

蔣 豆 芽:這個(gè)我還真沒(méi)想過(guò),我只知道有這個(gè)東西,但為什么要用就不知道了。

隔壁老李:(語(yǔ)重心長(zhǎng))所以我們的學(xué)習(xí)不能僅僅停留在這個(gè)地步,不僅要知其然,還要知其所以然,凡事多問(wèn)幾個(gè)為什么,就會(huì)引申出很多的知識(shí)。

蔣 豆 芽:老李,我發(fā)現(xiàn)你越來(lái)越像我高中班主任了。

隔壁老李:(好奇)哦?是講解細(xì)致入微?

蔣 豆 芽:不,是啰里啰嗦了。

隔壁老李:(敲腦袋)呸,死豆芽懂什么啊,那都是為你好!等你以后就知道班主任的好了。我不僅在教你編程知識(shí),還在教你怎樣正確編程。

蔣 豆 芽:(捂腦袋)好,老李,你繼續(xù)吧。

隔壁老李:豆芽,你想想你平時(shí)編寫(xiě)程序時(shí),直接填充數(shù)字會(huì)遇到什么問(wèn)題?

蔣 豆 芽:(恍然大悟)哦,修改的時(shí)候特別麻煩,過(guò)幾天再來(lái)看,就忘了這個(gè)數(shù)字什么意思了。

隔壁老李:所以啊,如果我們?cè)诔绦蛑兄苯犹畛鋽?shù)字或字符串,

(1)程序的可讀性(可理解性)變差。我們總會(huì)忘記這些數(shù)字或字符串代表什么意義。

(2)一旦數(shù)字很多,改動(dòng)麻煩。

為了避免這些問(wèn)題,我們就要用常量來(lái)替代。豆芽,之前我已經(jīng)跟你說(shuō)過(guò)了,在C語(yǔ)言中,可以使用宏替代常量,而C++盡量使用const常量替代宏常量,豆芽你來(lái)回顧一下。

img

1.8 Const——今天必須把它搞懂

img

蔣 豆 芽:簡(jiǎn)單!const 是 constant 的縮寫(xiě),本意是不變的,不易改變的意思。在 C++ 中是用來(lái)修飾內(nèi)置類(lèi)型變量,自定義對(duì)象,成員函數(shù),返回值,函數(shù)參數(shù)。

C++ const 允許指定一個(gè)語(yǔ)義約束,編譯器會(huì)強(qiáng)制實(shí)施這個(gè)約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實(shí)有某個(gè)值保持不變,就應(yīng)該明確使用const,這樣可以獲得編譯器的幫助。

在C++中為了安全性,我們就要少用甚至不要再用宏了,不帶參數(shù)的宏命令我們可以用常量const來(lái)替代,比如const double PI = 3.1415,可以起到同樣的效果,而且還比宏安全,因?yàn)檫@條語(yǔ)句會(huì)在編譯階段進(jìn)行語(yǔ)法檢查。而宏常量在預(yù)編譯階段被替換,不會(huì)進(jìn)行語(yǔ)法檢查。

蔣 豆 芽:(疑惑)那老李,C語(yǔ)言里也有const,為什么C語(yǔ)言里的常量用的是宏而不是const?

隔壁老李:誒?這個(gè)問(wèn)題問(wèn)的非常得好啊,豆芽??礃幼幽阌性谡J(rèn)真聽(tīng)哈。

蔣 豆 芽:必須的!

隔壁老李:這是因?yàn)?strong>C語(yǔ)言里的const和C++里的const,兩者作用機(jī)制是不一樣的。這也是個(gè)比較重要的知識(shí)點(diǎn),老李記得曾經(jīng)被面試官這樣問(wèn)過(guò),當(dāng)時(shí)老李沒(méi)有回答出來(lái)(羞澀)

蔣 豆 芽:嘿嘿。

隔壁老李:在C語(yǔ)言中,const修飾的變量依然被當(dāng)做變量,那么其在內(nèi)存中依然有存儲(chǔ)它的空間。并且可以通過(guò)指針間接的改變?cè)搩?nèi)存空間的值。如下面例子所示:

#include <stdio.h>  
int main(){  
    const int i = 10;  
    int *p = (int *)(&i);  
    *p = 20;  
    printf("i=%d   *p=%d   \n", i, *p);  
    return 0;  
}  

結(jié)果如下:

i=20   *p=20

這里可以清楚地看到,i的值被改變了。

蔣 豆 芽:啊?那這樣就違背了我們定義const的初衷了。

隔壁老李:沒(méi)錯(cuò),所以這就是為什么在C語(yǔ)言中表示常量,使用的是宏常量而非const。宏是直接替換。

蔣 豆 芽:(好奇)那C++的const機(jī)制又是怎樣的呢?

隔壁老李:在C++中,C++把const看做常量,編譯器會(huì)使用常數(shù)直接替換掉上面例子中對(duì)i的引用,最后的結(jié)果是i = 10,*p = 20。

#include<iostream>
using namespace std; 
int main(){  
    const int i = 10;  
    int *p = (int *)(&i);  
    *p = 20;  
    cout << "i=%d" << i << "*p=%d" << *p;  //這里編譯器會(huì)直接將i替換為10
    return 0;  
} 

這里需要說(shuō)明的是,其實(shí)變量i的內(nèi)存空間里的數(shù)值依然已經(jīng)被改變了,為20。

所以千萬(wàn)不要輕易對(duì) const 變量設(shè)法賦值,這會(huì)產(chǎn)生意想不到的行為。

蔣 豆 芽:明白了!所以C++中的const機(jī)制類(lèi)似C語(yǔ)言中的宏,都是替換,不過(guò)C++的const是在編譯階段替換,C語(yǔ)言的宏是在預(yù)編譯階段替換。

隔壁老李:沒(méi)錯(cuò)!豆芽,趕緊把小筆記記起來(lái)啊,這就是標(biāo)準(zhǔn)答案啊,面試官最喜歡問(wèn)了。然后我們要把const講透,const還有其他的用法,const可以修飾指針。

隔壁老李:在定義指針的時(shí)候我們可以用const來(lái)修飾

根據(jù)const出現(xiàn)的位置和出現(xiàn)的次數(shù)分為三種

  1. 指向常量的指針

  2. 常指針

  3. 指向常量的常指針

1.指向常量的指針

指針指向一個(gè)常量對(duì)象,目的是防止使用該指針來(lái)修改指向的值。

如:

const int *a;    //a指針?biāo)赶虻膬?nèi)存里的值不變,即(*a)不變,但a可以變
int const *a;    //同const int *a;

給出實(shí)例:

int a = 10;
int b = 20;
const int *p = &a;
//該聲明的意思是p指向一個(gè)const int(這里為10),因此不能使用p來(lái)修改這個(gè)值,
//換句話(huà)來(lái)說(shuō),*p的值為const,不能被修改。
*p = 20; //錯(cuò)誤,編譯報(bào)錯(cuò)
p = &b; //正確,const只能防止修改p指向的值,但不能防止修改p的值,也就是說(shuō),可以將一個(gè)新地址賦給p

2.常指針

將指針本身聲明為常量,這樣可以防止改變指針指向的位置。

如:

int *const a;    //a指針?biāo)赶虻膬?nèi)存地址不變,即a不變,但(*a)可以變

給出實(shí)例:

int a = 10;
int b = 20;
int *const p = &a;
//意思是p只能指向a,p不能變,但允許p來(lái)修改a的值。
*p = 20; //正確,a的值可以被修改
p = &b; //錯(cuò)誤,編譯報(bào)錯(cuò),p不能被修改

3.指向常量的常指針

一個(gè)常量指針指向一個(gè)常量對(duì)象。

如:

const int *const a;   //都不變,即(*a)不變,a也不變

隔壁老李const可以修飾參數(shù)傳遞。

對(duì)于 const 修飾函數(shù)參數(shù)可以分為三種情況。

A:值傳遞的 const 修飾傳遞,一般這種情況不需要 const 修飾,因?yàn)楹瘮?shù)會(huì)自動(dòng)產(chǎn)生臨時(shí)變量復(fù)制實(shí)參值,實(shí)參反正不會(huì)變。但是我們也可以加const,這是一種良好的風(fēng)格。

#include<iostream> 
using namespace std;
void douya(const int a){
    cout<<a;
    // ++a;  是錯(cuò)誤的,a 不能被改變
}

int main(void) {
    douya(8);
    system("pause");
    return 0;
}

B:當(dāng) const 參數(shù)為指針時(shí),可以防止指針被意外篡改。

#include<iostream> 
using namespace std; 
void douya(int *const a){ 

剩余60%內(nèi)容,訂閱專(zhuān)欄后可繼續(xù)查看/也可單篇購(gòu)買(mǎi)

<p> - 本專(zhuān)刊適合于C/C++已經(jīng)入門(mén)的學(xué)生或人士,有一定的編程基礎(chǔ)。 - 本專(zhuān)刊適合于互聯(lián)網(wǎng)C++軟件開(kāi)發(fā)、嵌入式軟件求職的學(xué)生或人士。 - 本專(zhuān)刊囊括了C語(yǔ)言、C++、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、嵌入式、算法與數(shù)據(jù)結(jié)構(gòu)等一系列知識(shí)點(diǎn)的講解,并且最后總結(jié)出了高頻面試考點(diǎn)(附有答案)共近400道,知識(shí)點(diǎn)講解全面。不僅如此,教程還講解了簡(jiǎn)歷制作、筆試面試準(zhǔn)備、面試技巧等內(nèi)容。 </p> <p> <br /> </p>

全部評(píng)論
請(qǐng)問(wèn)下第一天看,第二天就忘了咋辦,每天還要做實(shí)驗(yàn)??
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2023-03-22 21:20 甘肅
聲明類(lèi)內(nèi)靜態(tài)變量,是需要定義的。這里要注意
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2021-07-26 10:03

相關(guān)推薦

公司,,如下小小小互聯(lián)網(wǎng)(其實(shí)是抄各種游戲)公司吧,沒(méi)一百人。在成都牛馬街!&nbsp;在頂層,冬冷夏熱。公司整體色調(diào)是藍(lán)色系。藍(lán)色啊,讓人抑郁的顏色。上班時(shí)間:很長(zhǎng),無(wú)法細(xì)說(shuō),隨時(shí)猝死那種。部門(mén)感受,,如下不知道是不是錯(cuò)覺(jué)。感覺(jué)除開(kāi)自己部門(mén),其他部門(mén)都很其樂(lè)融融的,天天嘻嘻哈哈一起玩兒。就我們部門(mén)散是滿(mǎn)天星,聚是一坨翔,部門(mén)喪門(mén)星(不知道怎么形容才好)今天她說(shuō)她壞話(huà),明天打聽(tīng)你各種隱私。和誰(shuí)聊天都是句句挖坑(你覺(jué)得咱誰(shuí)誰(shuí)誰(shuí),你覺(jué)得咱領(lǐng)導(dǎo),你覺(jué)得,,,你聽(tīng)說(shuō)辣么誰(shuí)誰(shuí)誰(shuí))。很不小心就被穿小鞋。還要在各個(gè)部門(mén)打探各種小道消息上報(bào)鞏固自己地位??偨Y(jié):很?chē)樔耍☆I(lǐng)導(dǎo)特別關(guān)心你的“成長(zhǎng)”。如下領(lǐng)導(dǎo)N連問(wèn):你為什么還...
點(diǎn)贊 評(píng)論 收藏
分享
高斯林的信徒:雙c9能簡(jiǎn)歷掛的?
點(diǎn)贊 評(píng)論 收藏
分享
???3727151號(hào):不是哥們我以為駕照是段子呢
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
1
分享

創(chuàng)作者周榜

更多
正在熱議
更多
# 牛油的搬磚plog #
9604次瀏覽 51人參與
# 實(shí)習(xí)學(xué)不到東西怎么辦? #
197612次瀏覽 2047人參與
# 京東TGT #
59693次瀏覽 197人參與
# 一人一個(gè)landing小技巧 #
10423次瀏覽 194人參與
# 跳槽時(shí)有那些注意事項(xiàng) #
83313次瀏覽 518人參與
# 面試問(wèn)題記錄 #
89242次瀏覽 1251人參與
# 應(yīng)屆生初入職場(chǎng),求建議 #
191559次瀏覽 2507人參與
# 安利/避雷我的專(zhuān)業(yè) #
69271次瀏覽 502人參與
# 選完offer后,你后悔學(xué)本專(zhuān)業(yè)嗎 #
40882次瀏覽 221人參與
# 市場(chǎng)營(yíng)銷(xiāo)人求職交流聚集地 #
112478次瀏覽 1011人參與
# 被AI治愈的瞬間 #
18288次瀏覽 330人參與
# 科大訊飛求職進(jìn)展匯總 #
278848次瀏覽 2713人參與
# 我心目中的理想工作是這樣的 #
58665次瀏覽 795人參與
# 找工作的破防時(shí)刻 #
5954次瀏覽 71人參與
# 工作中,你有沒(méi)有遇到非常愛(ài)罵人的領(lǐng)導(dǎo)? #
24045次瀏覽 152人參與
# 實(shí)習(xí)生應(yīng)該準(zhǔn)時(shí)下班嗎 #
207406次瀏覽 1346人參與
# 華子oc時(shí)間線 #
1178125次瀏覽 6211人參與
# 求職季如何保持心態(tài)不崩 #
112684次瀏覽 937人參與
# 面試經(jīng)驗(yàn)談 #
65053次瀏覽 1090人參與
# 拼多多工作體驗(yàn) #
19718次瀏覽 154人參與
# 技術(shù)轉(zhuǎn)行的心路歷程 #
50461次瀏覽 665人參與
牛客網(wǎng)
??推髽I(yè)服務(wù)