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

當前位置: 首頁 > news >正文

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

體驗營銷,seo基礎優(yōu)化包括哪些內(nèi)容,校園網(wǎng)站建設計劃,手機網(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ù)和后面要學到的類都是大量存在的,這些變量、函數(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ù)和后面要學到的類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局作用域中,可能會導致很多沖突。使用命名空間的目的是對標識符的名稱進行本地化
避免命名沖突或名字污染 namespace 關鍵字的出現(xiàn)就是針對這種問題的。
#include <stdio.h>
#include <stdlib.h>int rand = 0;
// C語言沒辦法解決類似這樣的命名沖突問題,所以C++提出了namespace來解決
int main()
{printf("%d\n", rand);return 0;
}
// 編譯后后報錯:error C2365: “rand”: 重定義;以前的定義是“函數(shù)”

?? 1.1 定義

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

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

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

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

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

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

1.2 使用

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

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

  • 使用using將命名空間中某個成員引入
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; ? ?
}

?所以為了安全起見,這里建議在書寫項目的時候,盡量不展開std標準庫,或者展開常用的部分:

?


2.缺省參數(shù)

2.1 概念

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

?

使用場景:

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

3.函數(shù)重載

? ? ?函數(shù)重載: 是函數(shù)的一種特殊情況, C++ 允許在 同一作用域中 聲明幾個功能類似 的同名函數(shù) ,這些同名函數(shù)的形參列表 ( 參數(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ù)個數(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;
}

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

代碼生成文件大致需要4個階段:

?

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


4.引用

4.1 概念

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

4.2 特性

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

?使用場景:

1.做參數(shù)

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

?

2.做返回值

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

?

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

4.3 常引用

?

?

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

語法概念上 引用就是一個別名,沒有獨立空間,和其引用實體共用同一塊空間。

底層實現(xiàn)上 實際是有空間的,因為 引用是按照指針方式來實現(xiàn) 的。

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

簡單通俗來說:

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

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

3. inline 不建議聲明和定義分離,分離會導致鏈接錯誤。因為 inline 被展開,就沒有函數(shù)地址
了,鏈接就會找不到。

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

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

http://m.risenshineclean.com/news/36656.html

相關文章:

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