中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

企業(yè)手機(jī)端網(wǎng)站設(shè)計模板有域名了怎么建立網(wǎng)站

企業(yè)手機(jī)端網(wǎng)站設(shè)計模板,有域名了怎么建立網(wǎng)站,網(wǎng)站導(dǎo)航怎么做外鏈,網(wǎng)站建好了seo怎么做概要 C入門主要講的是C語言的一些不足,C作為補(bǔ)充,來補(bǔ)充C的不足之處 C的關(guān)鍵字有63個,C語言有32個(作為了解,不需要專門記) 變量的命名規(guī)則: 變量名必須以字母或下劃線開頭。變量名只能包含字…

概要

C++入門主要講的是C語言的一些不足,C++作為補(bǔ)充,來補(bǔ)充C的不足之處

C++的關(guān)鍵字有63個,C語言有32個(作為了解,不需要專門記)

?

變量的命名規(guī)則:

  1. 變量名必須以字母或下劃線開頭。
  2. 變量名只能包含字母、數(shù)字和下劃線。不允許使用其他特殊字符。
  3. 不能與關(guān)鍵字重名

C語言中有命名沖突的問題(與庫函數(shù),或者工程里的其他變量/函數(shù)名發(fā)生沖突),因此就引出了命名空間的概念。

ps:前面的文章有專門講過命名空間,這里就不再重復(fù)介紹辣,可以去翻翻之前的文章

輸入輸出

istream? ?輸入流

ostream? 輸出流

而C++中常用到的cin和cout就分別是istream和ostream的對象

cin? ? >>? 流提取運算符? 輸入

cout? <<? 流插入運算符? 輸出

cout 可以自動識別類型(但是是基于函數(shù)重載基礎(chǔ)上的,后面會說到函數(shù)重載)

類庫提供的頭文件中已經(jīng)對“<<”和“>>”進(jìn)行了重載,使之作為流插入運算符和流提取運算符,能用來輸出和輸入C++標(biāo)準(zhǔn)類型的數(shù)據(jù)。

本質(zhì)是在補(bǔ)充C語言的不足 對全局的變量,函數(shù),類型進(jìn)行封裝,防止引發(fā)沖突

也可以去庫函數(shù)中查詢相關(guān)資料

C++官網(wǎng):en.cppreference.com/w/

C++的輸入輸出比scanf/ printf要慢一點點 why?

因為:C++會同步C語言,會檢查C語言的錯誤,如果希望快一點,可以選擇關(guān)閉同步C語言或者使用scanf / printf

缺省參數(shù)(默認(rèn)參數(shù))

注意:

1)傳參是從左往右傳參, 缺省是從右向左缺省

2)缺省參數(shù)應(yīng)該在聲明的時候給缺省值,定義給缺省值沒有實際意義,這樣在傳參的時候會轉(zhuǎn)化到對應(yīng)參數(shù)個數(shù)

3)必須是常量或者全局變量

1】全缺省:會用缺省值來初始化

如果給了參數(shù)則用參數(shù)值來初始化?

2】半缺省:從右向左缺省

函數(shù)重載

同一作用域 形參(參數(shù)個數(shù) 類型 類型的順序)不同 只有返回值不同是不行的

無參調(diào)用存在歧義 調(diào)用0個的時候存在歧義

為什么C++支持函數(shù)重載? 答:與函數(shù)名修飾規(guī)則有關(guān) 以及 編譯鏈接過程有關(guān)

三個文件:Stack.h Stack.c test.c

預(yù)處理 頭文件展開 宏替換 去除注釋 條件編譯 .i? ? 最后生成Stack.i test.i

編譯 語法檢查 生成對應(yīng)匯編代碼 .s? ? ? ? ? ? ? ? ? ? ? 最后生成 Stack.s test.s

匯編? ?xor(邏輯異或) ?cpu是不認(rèn)識匯編代碼的,只識別二進(jìn)制。需要把匯編代碼轉(zhuǎn)換成二進(jìn)制機(jī)器碼 .o目標(biāo)文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 最后生成 Stack.o test.o

鏈接 可執(zhí)行程序 .exe /a.out(不指定) 此過程中 才會去看會不會重命名(找到定義 兌現(xiàn)承諾) 頭文件中聲明代表承諾 鏈接的過程就是一個兌現(xiàn)承諾的過程

error:無法解析外部符號 鏈接錯誤

一般都是缺少定義(有聲明無定義) ,聲明和定義不能同時賦值(缺省值),只能在聲明中給缺省值,相當(dāng)于將缺省參數(shù)補(bǔ)全了

因此C++支持函數(shù)重載而C語言不支持的原因在于:

1、C語言同名編譯階段就會報錯 因為同名函數(shù)編譯器不知道找哪一個

2、C++ 編譯鏈接 g++將函數(shù)名和參數(shù)的數(shù)據(jù)類型縮寫寫入

windows下名稱修飾規(guī)則:

所有函數(shù)都要鏈接嗎?

如果在當(dāng)前文件就有定義的話 編譯階段直接(兌現(xiàn)承諾),不需要進(jìn)行鏈接操作,

因為編譯的時候給了定義,相當(dāng)于直接兌現(xiàn)承諾,就不需要進(jìn)行鏈接了。

引用

給已存變量取別名,與被引用的變量公用一塊命名空間

給引用變量賦值相當(dāng)于給被引用變量賦值

引用的價值?

一個變量可以有多個引用,但是引用一旦有一個實體就不能引用其他實體了

引用在定義的時候必須初始化

就是取別名,認(rèn)為沒有開辟新的空間

注意:

1.定義時就必須初始化

2.一個變量可以有多個引用

3.但是引用一旦對應(yīng)一個實體,就不能改變指向了

用引用的好處在于:

1、做參數(shù)

a、做輸出型參數(shù)

輸出型參數(shù)是指 形參改變會影響實參 就像swap函數(shù)用引用類型做形參,會改變實參

b、減少拷貝,提高效率

2、做返回值

a、減少拷貝,提高效率

做返回值的時候,因為出作用域變量會銷毀,所以會建立一個臨時變量;但是當(dāng)變量不銷毀(在靜態(tài)區(qū))的時候,也會建立臨時變量(會不會生成臨時變量,看的并不是變量出了函數(shù)會不會銷毀,而是返回值類型;如果是傳值返回,都會進(jìn)行拷貝生成臨時變量,如何不生成臨時變量?)可以用引用類型作為返回值不生成臨時變量,可以減少拷貝,提高運行效率

如果引用作為返回值,不需要拷貝,但是如果變量銷毀了,返回的結(jié)果就不能確定了

可能情況:a、函數(shù)調(diào)用結(jié)束,函數(shù)棧幀銷毀,未清理函數(shù)棧幀,結(jié)果是對的

? ? ? ? ? ? ? ? ? b、函數(shù)調(diào)用結(jié)束,函數(shù)棧幀銷毀,清理了函數(shù)棧幀,結(jié)果是錯的

所以說一定要保證出了函數(shù),變量不會銷毀(仍然存在),才可以返回引用

b、獲取返回值 修改返回值

可以用引用實現(xiàn)SLAt()函數(shù),同時實現(xiàn)SLGet()和SLModify()的功能,簡化代碼

引用權(quán)限

引用權(quán)限不可以放大,但是可以縮小/平移

const int a;
int& b=a;
//權(quán)限放大了,改變b a也會改變 但是a本身是不能被改變的
int a=10;
int& b=a;
//權(quán)限平移了,可以這么寫
int m=10;
int& n=m;
const int& p=m;
//權(quán)限縮小了。可以這么寫
//不能通過p來改變m,但是m本身是可以修改的
m++;//可以這么寫
n++;
//m和n變了之后p也變了 

臨時變量創(chuàng)建場景

1】帶返回值的普通函數(shù),調(diào)用結(jié)束的時候會建立棧幀,建立臨時變量

2】在發(fā)生類型轉(zhuǎn)換的時候會創(chuàng)建臨時變量相同類型不會產(chǎn)生臨時變量)

double a=1.0;
int b=a;//a發(fā)生類型轉(zhuǎn)換,(截斷或提升的時候)先創(chuàng)建臨時變量if(a>b)//比較的類型不同,會發(fā)生類型提升(一般是小的向大的提升)
{      //先生成臨時變量swap(&a,&b);
}

引用與指針區(qū)別?

【1】從語法層面上看:

引用:不開空間,只是對變量取別名

指針:開空間,開辟空間存儲變量地址

【2】從底層匯編指令角度來看,引用是類似于指針方式實現(xiàn)的

auto用法

可以自動推導(dǎo)變量的類型

int a=1;
auto b=1+1.11;//可以根據(jù)右邊表達(dá)式,自動推導(dǎo)出b是double類型的cout<<typeid(b).name()<<endl;//輸出變量的數(shù)據(jù)類型

以后學(xué)到迭代器之后,代碼會很長,寫起來比較麻煩,所以用aoto較為簡便

注意:

1、auto不能做函數(shù)參數(shù)

void Test(auto a)//這種寫法是錯誤的
{,,,
}

2、不能直接聲明數(shù)組

void test()
{auto b[]={1,2,3,4};//這也是錯誤的
}

范圍for(語法糖)

//自動推導(dǎo)類型,依次取出數(shù)組中元素,賦值給e,自動迭代和判斷結(jié)束 
int arr[10]={1,2,3,4,5,6,7,8,9,0};for(auto e:arr)
{cout<<e<<" ";
}

?

http://www.risenshineclean.com/news/5076.html

相關(guān)文章:

  • 大豐網(wǎng)站建設(shè)全網(wǎng)推廣軟件
  • 寧波建設(shè)網(wǎng)站價格seo是怎么優(yōu)化推廣的
  • 網(wǎng)站建設(shè)的作用網(wǎng)站流量來源
  • 做游戲下載網(wǎng)站賺錢中央人民政府網(wǎng)
  • 什么網(wǎng)站做設(shè)計可以賺錢搜索引擎營銷是什么
  • 公司在網(wǎng)上做網(wǎng)站怎么做賬怎么注冊網(wǎng)站平臺
  • 無錫網(wǎng)站建設(shè)企業(yè)排名無錫營銷型網(wǎng)站制作
  • 制作網(wǎng)站的策劃方案網(wǎng)站自建
  • 17網(wǎng)站一起做網(wǎng)店不發(fā)貨網(wǎng)上售賣平臺有哪些
  • 做短視頻網(wǎng)站產(chǎn)品營銷方案案例范文
  • 網(wǎng)站怎么做谷歌權(quán)重色盲眼鏡
  • 武漢模板建站平臺哪家好鏈接提交工具
  • 杭州網(wǎng)站制如何在其他平臺做推廣
  • 濟(jì)南建站免費模板瀏覽器網(wǎng)站進(jìn)入口
  • 北京出名做網(wǎng)站的公司如何做好推廣
  • 阿里云認(rèn)證網(wǎng)站建設(shè)題庫免費制作網(wǎng)頁平臺
  • 企業(yè)做網(wǎng)站設(shè)計的北京網(wǎng)絡(luò)推廣外包公司排行
  • 成都市城鄉(xiāng)建設(shè)委員網(wǎng)站seo網(wǎng)站診斷價格
  • 要給公司做一個網(wǎng)站怎么做網(wǎng)站優(yōu)化的方式有哪些
  • 北京比較好的網(wǎng)站建設(shè)公司谷歌seo服務(wù)
  • 做競價網(wǎng)站用什么系統(tǒng)好原創(chuàng)軟文
  • dede推薦評級網(wǎng)站模版百度搜索推廣費用
  • 免費企業(yè)網(wǎng)站空間網(wǎng)絡(luò)營銷策劃的具體流程是
  • 越南做網(wǎng)站服務(wù)器最新app推廣項目平臺
  • 網(wǎng)站公司建站營銷活動
  • 哪個網(wǎng)站可以做視頻播放器最新全國疫情消息
  • 西安有哪些做網(wǎng)站建設(shè)的公司好網(wǎng)絡(luò)推廣計劃書范文
  • 游戲推廣是做什么的關(guān)鍵詞優(yōu)化公司排名
  • html5響應(yīng)式網(wǎng)站制作seo網(wǎng)站排名廠商定制
  • 成都 網(wǎng)站設(shè)計網(wǎng)站建設(shè)工作總結(jié)