国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

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

體驗(yàn)營(yíng)銷seo基礎(chǔ)優(yōu)化包括哪些內(nèi)容

體驗(yàn)營(yíng)銷,seo基礎(chǔ)優(yōu)化包括哪些內(nèi)容,校園網(wǎng)站建設(shè)計(jì)劃,手機(jī)網(wǎng)站 搜索優(yōu)化 百度目錄 1.命名空間 1.1 定義 1.2 使用 2.缺省參數(shù) 2.1 概念 2.2 分類 3.函數(shù)重載 4.引用 4.1 概念 4.2 特性 4.3 常引用 4.4 引用和指針的區(qū)別 5.內(nèi)聯(lián)函數(shù) 1.命名空間 在 C/C 中,變量、函數(shù)和后面要學(xué)到的類都是大量存在的,這些變量、函數(shù)和類的名稱將…

目錄

1.命名空間

? ? ? ?1.1 定義

? ? ? ?1.2 使用

2.缺省參數(shù)

? ? ? ? ?2.1 概念

? ? ? ? ?2.2 分類

3.函數(shù)重載

4.引用

? ? ? ? ? ?4.1 概念

? ? ? ? ? ?4.2 特性

? ? ? ? ? ?4.3 常引用

? ? ? ? ? ?4.4 引用和指針的區(qū)別

5.內(nèi)聯(lián)函數(shù)


1.命名空間

? ? ? 在 C/C++ 中,變量、函數(shù)和后面要學(xué)到的類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局作用域中,可能會(huì)導(dǎo)致很多沖突。使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化
避免命名沖突或名字污染 namespace 關(guān)鍵字的出現(xiàn)就是針對(duì)這種問題的。
#include <stdio.h>
#include <stdlib.h>int rand = 0;
// C語(yǔ)言沒辦法解決類似這樣的命名沖突問題,所以C++提出了namespace來解決
int main()
{printf("%d\n", rand);return 0;
}
// 編譯后后報(bào)錯(cuò):error C2365: “rand”: 重定義;以前的定義是“函數(shù)”

?? 1.1 定義

? ? ? 定義命名空間,需要使用到 namespace 關(guān)鍵字 ,后面跟 命名空間的名字 ,然 后接一對(duì) {} 即可, {} 中即為命名空間的成員。

// 1. 正常的命名空間定義

// Dw是命名空間的名字,一般開發(fā)中是用項(xiàng)目名字做命名空間名。

?簡(jiǎn)單來說:命名空間可以定義函數(shù),變量,結(jié)構(gòu)。相對(duì)于編譯器而言,是尋找的規(guī)則。

//2. 命名空間可以嵌套

//3. 同一個(gè)工程中允許存在多個(gè)相同名稱的命名空間,編譯器最后會(huì)合成同一個(gè)命名空間中。

1.2 使用

命名空間的使用有三種方式:

  • 加命名空間名稱及作用域限定符
int main()
{printf("%d\n", N::a);return 0; ? ?
}

  • 使用using將命名空間中某個(gè)成員引入
using N::b;
int main()
{printf("%d\n", N::a);printf("%d\n", b);return 0; ? ?
}

  • 使用using namespace 命名空間名稱引入
using namespce N;
int main()
{printf("%d\n", N::a);printf("%d\n", b);Add(10, 20);return 0; ? ?
}

?所以為了安全起見,這里建議在書寫項(xiàng)目的時(shí)候,盡量不展開std標(biāo)準(zhǔn)庫(kù),或者展開常用的部分:

?


2.缺省參數(shù)

2.1 概念

? ? ? 缺省參數(shù)是 聲明或定義函數(shù)時(shí) 為函數(shù)的 參數(shù)指定一個(gè)缺省值 。在調(diào)用該函數(shù)時(shí),如果沒有指定實(shí)參則采用該形參的缺省值,否則使用指定的實(shí)參。
void Func(int a = 0)
{cout<<a<<endl;
}int main()
{Func(); ? ? // 沒有傳參時(shí),使用參數(shù)的默認(rèn)值Func(10); ? // 傳參時(shí),使用指定的實(shí)參return 0;
}

?

2.2 分類

  • 全缺省參數(shù)
void Func(int a = 10, int b = 20, int c = 30){cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;cout<<"c = "<<c<<endl;}
  • 半缺省參數(shù)
void Func(int a, int b = 10, int c = 20){cout<<"a = "<<a<<endl;cout<<"b = "<<b<<endl;cout<<"c = "<<c<<endl;}

?

使用場(chǎng)景:

注意:
? ? ? ? ?1. 半缺省參數(shù)必須 從右往左依次 來給出,不能間隔著給
? ? ? ? ?2. 缺省參數(shù)不能在函數(shù)聲明和定義中同時(shí)出現(xiàn) ( 如果聲明 與定義位置同時(shí)出現(xiàn),恰巧兩個(gè)位置提供的值不同,那編譯器就無法確定到底該 用那個(gè)缺省值。)
? ? ? ? 3. 缺省值必須是常量或者全局變量
? ? ? ? 4. C 語(yǔ)言不支持(編譯器不支持)

3.函數(shù)重載

? ? ?函數(shù)重載: 是函數(shù)的一種特殊情況, C++ 允許在 同一作用域中 聲明幾個(gè)功能類似 的同名函數(shù) ,這些同名函數(shù)的形參列表 ( 參數(shù)個(gè)數(shù) 或 類型 或 類型順序 ) 不同 ,常用來處理實(shí)現(xiàn)功能類似數(shù)據(jù)類型
不同的問題。
  • 參數(shù)類型不同
#include<iostream>
using namespace std;int Add(int left, int right)
{cout << "int Add(int left, int right)" << endl;return left + right;
}double Add(double left, double right)
{cout << "double Add(double left, double right)" << endl;return left + right;
}
  • 參數(shù)個(gè)數(shù)不同
void f()
{cout << "f()" << endl;
}void f(int a)
{cout << "f(int a)" << endl;
}
  • 參數(shù)類型順序不同
void f(int a, char b)
{cout << "f(int a,char b)" << endl;
}void f(char b, int a)
{cout << "f(char b, int a)" << endl;
}

簡(jiǎn)單提及一下,為什么c語(yǔ)言不支持函數(shù)重載,而c++支持?

代碼生成文件大致需要4個(gè)階段:

?

?c++在形成符號(hào)表的時(shí)候,會(huì)有專門的函數(shù)名修飾規(guī)則,即使是同一個(gè)函數(shù)名,參數(shù)類型不同,形成的符號(hào)表也不會(huì)相同。C語(yǔ)言沒辦法支持重載,因?yàn)橥瘮?shù)沒辦法區(qū)分。而C++是通過函數(shù)修飾規(guī)則來區(qū)分,只要參數(shù)不同,修飾出來的名字就不一樣,就支持了重載。另外如果兩個(gè)函數(shù)函數(shù)名和參數(shù)是一樣的,返回值不同是不構(gòu)成重載的,因?yàn)檎{(diào)用時(shí)編譯器沒辦法區(qū)分。


4.引用

4.1 概念

? ? ?引用 不是新定義一個(gè)變量,而 是給已存在變量取了一個(gè)別名 ,編譯器不會(huì)為引用變量開辟內(nèi)存空 間,它和它引用的變量共用同一塊內(nèi)存空間。

4.2 特性

1. 引用在 定義時(shí)必須初始化
2. 一個(gè)變量可以有多個(gè)引用
3. 引用一旦引用一個(gè)實(shí)體,再不能引用其他實(shí)體

?使用場(chǎng)景:

1.做參數(shù)

  • 做輸出型參數(shù)
  • 大對(duì)象傳參,提高效率

?

2.做返回值

  • 輸出型返回對(duì)象,調(diào)用者可以修改返回對(duì)象
  • 減少拷貝,提高效率

?

注:如果出了函數(shù)作用域,返回對(duì)象會(huì)銷毀的話,那么一定不能使用引用返回,要使用傳值返回。

4.3 常引用

?

?

4.4 引用和指針的區(qū)別

語(yǔ)法概念上 引用就是一個(gè)別名,沒有獨(dú)立空間,和其引用實(shí)體共用同一塊空間。

底層實(shí)現(xiàn)上 實(shí)際是有空間的,因?yàn)?/span> 引用是按照指針方式來實(shí)現(xiàn) 的。

引用和指針的不同點(diǎn) :
1. 引用概念上定義一個(gè)變量的別名,指針存儲(chǔ)一個(gè)變量地址。
2. 引用 在定義時(shí) 必須初始化 ,指針沒有要求
3. 引用 在初始化時(shí)引用一個(gè)實(shí)體后,就 不能再引用其他實(shí)體 ,而指針可以在任何時(shí)候指向任何
一個(gè)同類型實(shí)體
4. 沒有 NULL 引用 ,但有 NULL 指針
5. sizeof 中含義不同 引用 結(jié)果為 引用類型的大小 ,但 指針 始終是 地址空間所占字節(jié)個(gè)數(shù) (32
位平臺(tái)下占 4 個(gè)字節(jié) )
6. 引用自加即引用的實(shí)體增加 1 ,指針自加即指針向后偏移一個(gè)類型的大小
7. 有多級(jí)指針,但是沒有多級(jí)引用
8. 訪問實(shí)體方式不同, 指針需要顯式解引用,引用編譯器自己處理
9. 引用比指針使用起來相對(duì)更安全

簡(jiǎn)單通俗來說:

?5.內(nèi)聯(lián)函數(shù)

5.1 概念
? ? ? ? ?以 inline 修飾 的函數(shù)叫做內(nèi)聯(lián)函數(shù), 編譯時(shí) C++ 編譯器會(huì)在 調(diào)用內(nèi)聯(lián)函數(shù)的地方展開 ,沒有函數(shù)調(diào)用建立棧幀的開銷,內(nèi)聯(lián)函數(shù)提升程序運(yùn)行的效率。
5.2 特性
1. inline 是一種 以空間換時(shí)間 的做法,如果編譯器將函數(shù)當(dāng)成內(nèi)聯(lián)函數(shù)處理,在 編譯階段,會(huì)
用函數(shù)體替換函數(shù)調(diào)用 ,缺陷:可能會(huì)使目標(biāo)文件變大,優(yōu)勢(shì):少了調(diào)用開銷,提高程序運(yùn)
行效率。
2. inline 對(duì)于編譯器而言只是一個(gè)建議,不同編譯器關(guān)于 inline 實(shí)現(xiàn)機(jī)制可能不同 ,一般建
議:將 函數(shù)規(guī)模較小 ( 即函數(shù)不是很長(zhǎng),具體沒有準(zhǔn)確的說法,取決于編譯器內(nèi)部實(shí)現(xiàn) ) 、
是遞歸、且頻繁調(diào)用 的函數(shù)采用 inline 修飾,否則編譯器會(huì)忽略 inline 特性。下圖為《C++prime 》第五版關(guān)于 inline 的建議:

3. inline 不建議聲明和定義分離,分離會(huì)導(dǎo)致鏈接錯(cuò)誤。因?yàn)?/span> inline 被展開,就沒有函數(shù)地址
了,鏈接就會(huì)找不到。

宏的優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):
1. 增強(qiáng)代碼的復(fù)用性。
2. 提高性能。
缺點(diǎn):
1. 不方便調(diào)試宏。(因?yàn)轭A(yù)編譯階段進(jìn)行了替換)
2. 導(dǎo)致代碼可讀性差,可維護(hù)性差,容易誤用。
3. 沒有類型安全的檢查 。
C++ 有哪些技術(shù)替代宏
1. 常量定義 換用 const enum
2. 短小函數(shù)定義 換用內(nèi)聯(lián)函數(shù)

注:以上概念性內(nèi)容均來自于比特科技。

http://m.aloenet.com.cn/news/36656.html

相關(guān)文章:

  • 公司宣傳片ppt模板西安網(wǎng)絡(luò)優(yōu)化大的公司
  • wordpress網(wǎng)易云插件百度seo查詢收錄查詢
  • 俄羅斯做貨代的網(wǎng)站公司網(wǎng)站設(shè)計(jì)哪家好
  • 創(chuàng)建網(wǎng)站要多少錢seo競(jìng)價(jià)排名
  • 江門住房城鄉(xiāng)建設(shè)廳網(wǎng)站列舉常見的網(wǎng)絡(luò)營(yíng)銷工具
  • 做五金建材這幾個(gè)網(wǎng)站手機(jī)百度高級(jí)搜索
  • 代做廣聯(lián)達(dá) 的網(wǎng)站淺議網(wǎng)絡(luò)營(yíng)銷論文
  • 鹽田區(qū)網(wǎng)站建設(shè)百度網(wǎng)站ip地址
  • 專門做資產(chǎn)負(fù)債表結(jié)構(gòu)分析的網(wǎng)站上海市人大常委會(huì)
  • 賓利棋牌在哪個(gè)網(wǎng)站做的廣告成都seo服務(wù)
  • 免費(fèi)的視頻api接口seo排名計(jì)費(fèi)系統(tǒng)
  • 網(wǎng)站中英文轉(zhuǎn)換怎么做軟文標(biāo)題
  • 佛山專業(yè)建設(shè)網(wǎng)站平臺(tái)營(yíng)銷策劃方案怎么寫?
  • 網(wǎng)站備案接入商名稱seo計(jì)費(fèi)系統(tǒng)開發(fā)
  • 廣州白云做網(wǎng)站濟(jì)寧百度推廣電話
  • 成都網(wǎng)站制作公司成人速成班有哪些專業(yè)
  • 黃驊港開發(fā)區(qū)谷歌seo是什么意思
  • 網(wǎng)站建設(shè)演講稿全網(wǎng)營(yíng)銷系統(tǒng)1700元真實(shí)嗎
  • 專門做化妝的招聘網(wǎng)站品牌營(yíng)銷策略四種類型
  • 手機(jī)電影網(wǎng)站怎么做河池網(wǎng)站seo
  • 啟銘網(wǎng)站建設(shè)5118關(guān)鍵詞挖掘工具
  • 石家莊移動(dòng)端網(wǎng)站建設(shè)百度發(fā)布
  • 濰坊網(wǎng)站優(yōu)化sem和seo是什么意思
  • 網(wǎng)站怎么優(yōu)化推廣怎么搜索關(guān)鍵詞
  • 慈溪外貿(mào)公司網(wǎng)站優(yōu)化營(yíng)商環(huán)境的意義
  • 動(dòng)態(tài)網(wǎng)站建設(shè)04章在線測(cè)試關(guān)鍵詞排名優(yōu)化易下拉霸屏
  • 北京12345網(wǎng)上投訴平臺(tái)seo搜索引擎優(yōu)化報(bào)價(jià)
  • 免費(fèi)政府網(wǎng)站html模板百度首頁(yè)快速排名系統(tǒng)
  • 廣西建設(shè)廳網(wǎng)站是什么關(guān)鍵詞優(yōu)化需要從哪些方面開展?
  • 宣武網(wǎng)站建設(shè)低價(jià)刷贊網(wǎng)站推廣