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

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

網(wǎng)站設(shè)計任務(wù)書范文站長工具seo綜合查詢訪問

網(wǎng)站設(shè)計任務(wù)書范文,站長工具seo綜合查詢訪問,百度競價排名平臺,建設(shè)保障房網(wǎng)站首頁1.命名空間 使用命名空間的目的是對標(biāo)識符的名稱進(jìn)行本地化,以避免命名沖突或名字污染 定義命名空間,需要使用到namespace關(guān)鍵字,后面跟命名空間的名字,然后接一對{}即可,{}中即為命名空間的成員 ①.普通的命名空間 n…

1.命名空間
使用命名空間的目的是對標(biāo)識符的名稱進(jìn)行本地化,以避免命名沖突或名字污染
定義命名空間,需要使用到namespace關(guān)鍵字,后面跟命名空間的名字,然后接一對{}即可,{}中即為命名空間的成員
①.普通的命名空間

namespace N1{//命名空間的內(nèi)容,既可以定義變量,又可以定義函數(shù)
int a;
int Add(int left,int right){
return left+right;
}
}

②.命名空間可以嵌套

namespace N1{//命名空間的內(nèi)容,既可以定義變量,又可以定義函數(shù)
int a;
int Add(int left,int right){
return left+right;
}
namespace N3{
int c;
int d;
int sub(int left,int right){
return left-right;
}

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

命名空間的使用
①.加命名空間名稱和域作用限定符

int main(){
printf("%d",N::a);
return 0;
}

②.使用using將命名空間中成員引入

using N::b
int main(){
pritnf("%d",N::b);
return 0;
}

③.使用using namespace 命名空間名稱引入
using namespace N;

using namespace N;//全部展開,全部授權(quán)
using N::add;//部分展開,部分授權(quán)

using namespace std;
std是c++標(biāo)準(zhǔn)庫的命名空間
2.c++輸入/輸出
<<流插入運(yùn)算符

流提取運(yùn)算符

cout<<"hello world"<<endl;

endl為換行符

cout<<"hello world"<<"\n";

兩者效果相同
使用cout標(biāo)準(zhǔn)輸出(控制臺)和cin標(biāo)準(zhǔn)輸入(鍵盤)時,必須包含頭文件以及std標(biāo)準(zhǔn)命名空間
使用c++輸入輸出更加方便,不需增加數(shù)據(jù)控制格式,比如整形"%d” 字符"%c"

注意cin的特點(diǎn),與c語言中g(shù)ets有些類似,gets是遇到換行符停止,而cin是遇到空格,tab或者換行符作為分隔符的,

char arr[20]={};
cin>>arr;

輸入hello world 但由于中間存在空格,故arr這個數(shù)組中只有hello,沒有world

3.缺省參數(shù)
缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定一個默認(rèn)值,在調(diào)用該函數(shù)時,如果沒有指定實(shí)參則采用該默認(rèn)值,否則使用指定的實(shí)參。
void func(int a=10){
cout<<a<<endl;
}
int main(){
func();//沒有傳參時,使用參數(shù)的默認(rèn)值
func(10);//傳參時,使用指定的實(shí)參
}
分類
全缺省參數(shù)
void func(int a=10;int b=20;int c=30){}
半缺省參數(shù)
void func(int a,int b=20;int c=30){}
注意①.半缺省參數(shù)必須從右往左依次來給,不能間隔著給
②.缺省參數(shù)不能在函數(shù)的聲明和定義中同時出現(xiàn)
因?yàn)槿绻暶髋c定義位置同時出現(xiàn),恰巧兩個位置提供的值不同,那編譯器就無法確定到底該用哪個缺省值
聲明不給定義給
③.缺省值必須是常量或者全局變量
//正確示例

int x = 3;//全局變量
void func(int a, int b = 2, int c = x)
{cout << a << endl;cout << b << endl;cout << c << endl;
}

4.函數(shù)重載:是函數(shù)的一種特殊情況,C++允許在同一作用域中聲明幾個功能類似的同名函數(shù),這些同名函數(shù)的
形參列表(參數(shù)個數(shù)類型順序)必須不同,常用來處理實(shí)現(xiàn)功能類似數(shù)據(jù)類型不同的問題

#include <iostream>
using namespace std;int Add(int x, int y)
{return x + y;
}double Add(double x, double y)
{return x + y;
}
int main()
{cout << Add(0,1) << endl;//打印0+1的結(jié)果cout << Add(1.1,2.2) << endl;//打印1.1+2.2的結(jié)果return 0;
}

注意:若僅僅只有返回值不同,其他都相同,則不構(gòu)成函數(shù)重載。

c語言與c++類似,都要進(jìn)行編譯和鏈接兩個過程
編譯后鏈接前,a.o的目標(biāo)文件中沒有Add的函數(shù)地址,因?yàn)锳dd是在b.cpp中定義的,所以Add的地址實(shí)在b.o中
鏈接器看到a.o調(diào)用Add,但沒有Add的地址,就會到b.o的符號表(符號表就是函數(shù)名,變量跟地址的映射)中去找Add的地址,然后鏈接到一起。面對多個Add函數(shù),每個編譯器有自己的修飾規(guī)則,在gcc下的修飾規(guī)則是:【_Z+函數(shù)長度+函數(shù)名+類型首字母】。
之所以c語言無法支持重載,是因?yàn)镃編譯器和C++編譯器對函數(shù)名的修飾不同

所以,返回值的不會構(gòu)成函數(shù)重載,因?yàn)樾揎椧?guī)則并不會受返回值的影響。
如果函數(shù)名修飾規(guī)則帶入返回值,返回值能否構(gòu)成重載?

不能,因?yàn)椴恢酪{(diào)用誰
5.引用
引用不是新定義一個變量,而是給已存在變量取了一個別名,編譯器不會為引用變量開辟內(nèi)存空間,它和它
引用的變量共用同一塊內(nèi)存空間。
類型& 引用變量名(對象名) = 引用實(shí)體;
int a=10;
int&b=a; //相當(dāng)于給a取了一個別名,給b引用了a,同一個變量取了個名字
b=3;//改變b也就相當(dāng)于改變a了
引用類型必須和引用實(shí)體是同種類型的
引用的特性
①.引用在定義時必須初始化

//正確示例
int a = 10;
int& b = a;//引用在定義時必須初始化
//錯誤示例
int a = 10;
int &b;//定義時未初始化
b = a;

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

int a = 10;
int& b = a;
int& c = a;
int& d = a;

③.引用一旦引用了一個實(shí)體,就不能再引用其他實(shí)體(c++的引用不能改變指向)

int a = 10;
int& b = a;
int c = 20;
b = c;//錯誤,b已經(jīng)引用了a,就不能在引用c
實(shí)際效果變?yōu)?#xff0c;b的值變?yōu)?span id="ieo6y2aa"    class="token number">20,而因?yàn)閍與b相同,故a的值也變成了20

常引用
在引用的過程中,權(quán)限可以平移,可以縮小,但不能放大

const int a=10;
int&b=a;

會出現(xiàn)錯誤,相當(dāng)于權(quán)限的放大,因?yàn)樵谶@里a為常量,如果用int&b=a;那么,b可以修改,但a不可以修改

const int&ra=a;

相當(dāng)于權(quán)限的平移,不會出錯

int&b=10;

會出現(xiàn)錯誤,b為常量,需要改為

const int&b=10;
int i=0;
double&d=i;

會出現(xiàn)錯誤,因?yàn)榘l(fā)生類型轉(zhuǎn)換時會產(chǎn)生一個double類型臨時變量,臨時變量具有常性
(int到double存在隱式類型的提升,而在提升的過程中系統(tǒng)會創(chuàng)建一個常量區(qū)來存放a類型提升后的結(jié)果)
需要改為

int i=0;
const double&d=i;
int func(){
int a=0;
return a;
}
int&ret=func();

會出現(xiàn)問題,因?yàn)閒unc的返回值是a的一份臨時拷貝,臨時變量具有常性
需改成

const int&ret=func();

引用的使用場景
①.做參數(shù)

void swap(int&left,int&right){
int temp=left;
left=right;
right=temp;
}

②.做返回值
當(dāng)然引用也能做返回值,但是要特別注意,我們返回的數(shù)據(jù)不能是函數(shù)內(nèi)部創(chuàng)建的普通局部變量,因?yàn)樵诤瘮?shù)內(nèi)部定義的普通的局部變量會隨著函數(shù)調(diào)用的結(jié)束而被銷毀。我們返回的數(shù)據(jù)必須是被static修飾或者是動態(tài)開辟的或者是全局變量等不會隨著函數(shù)調(diào)用的結(jié)束而被銷毀的數(shù)據(jù)。

int& count(){int n=0;n++;return n;
} 
int main(){int ret=count();return 0;
}

count函數(shù)返回n的別名,但是n已經(jīng)銷毀,如果棧幀沒有清楚,那么結(jié)果為1,否則結(jié)果為隨機(jī)值

#include<iostream>
using namespace std;
int&Add(int a,int b){int c=a+b;return c;
}
int main(){int&ans=Add(1,2);Add(3,4);cout<<ans<<endl;
}

但如果再加上一句cout<<ans<<endl;打印出的結(jié)果將變?yōu)殡S機(jī)值
因?yàn)樵诘谝淮握{(diào)用cout<<ans<<endl時,函數(shù)傳參建立棧幀,調(diào)用完后被覆蓋,第二次調(diào)用時已經(jīng)被覆蓋,為隨機(jī)值

#include<iostream>
using namespace std;
int& Add(int a, int b)
{static int c = a + b;return c;
}int main()
{int& ans = Add(1,2);Add(3, 4);cout << ans << endl;
}

為什么會出現(xiàn)隨機(jī)值,因?yàn)槟阍诤瘮?shù)里定義的變量是臨時變量,出了函數(shù)函數(shù)是會銷毀的,這時它就隨機(jī)指向內(nèi)存中的一塊空間了。所以在引用做函數(shù)返回值時最好還是給在函數(shù)中定義的變量加上static。加上static后,結(jié)果將變?yōu)?。
因?yàn)榈诙握{(diào)用Add函數(shù)時,static int c=a+b;并不會執(zhí)行,而是直接return c;
但如果將該函數(shù)修改為

int& Add(int a, int b)
{static int c ;c=a+b;return c;
}

總結(jié):
傳引用傳參(任何時候都可以)
①.提高效率
②.輸出型參數(shù)(形參的修改影響實(shí)參)
傳引用返回(出了函數(shù)作用域?qū)ο筮€在才可以用)
①.提高效率
②.

順序表查找和修改可以用一個函數(shù)來解決

int& SLAT(struct seqlist&ps,int i){
return ps.a[i];
}

想要修改SLAT(s,0)=1;

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

相關(guān)文章:

  • 精通網(wǎng)站建設(shè) 全能建站密碼pdf理發(fā)美發(fā)培訓(xùn)學(xué)校
  • 公司網(wǎng)站制作推廣公司
  • 電子商務(wù)網(wǎng)站有哪幾種搜索引擎營銷的常見方式
  • 網(wǎng)站代理游戲合川網(wǎng)站建設(shè)
  • 蘇州專業(yè)高端網(wǎng)站建設(shè)公司專業(yè)制作網(wǎng)站的公司哪家好
  • 泰州網(wǎng)站建設(shè)服務(wù)熱線全網(wǎng)推廣軟件
  • 免費(fèi)推廣網(wǎng)站2023mmm網(wǎng)絡(luò)營銷項(xiàng)目
  • 桐鄉(xiāng)住房和城鄉(xiāng)規(guī)劃建設(shè)局網(wǎng)站如何做網(wǎng)絡(luò)銷售產(chǎn)品
  • 上海網(wǎng)站設(shè)計工具網(wǎng)絡(luò)推廣運(yùn)營團(tuán)隊(duì)
  • 建設(shè)廳特種作業(yè)證件查詢官網(wǎng)網(wǎng)站優(yōu)化推廣公司
  • 重慶品牌網(wǎng)站建設(shè)優(yōu)化網(wǎng)站排名方法
  • 網(wǎng)站設(shè)計導(dǎo)航欄高度佛山市人民政府門戶網(wǎng)站
  • 網(wǎng)站建設(shè)詢價文件無錫營銷型網(wǎng)站制作
  • 海爾集團(tuán)電商網(wǎng)站建設(shè)百度網(wǎng)頁版進(jìn)入
  • 怎樣在國外網(wǎng)站做推廣搜索關(guān)鍵詞排名一般按照什么收費(fèi)
  • 做網(wǎng)站做軟件怎么賺錢嗎搜索量最大的關(guān)鍵詞
  • 咸秧草做哪些網(wǎng)站優(yōu)化大師免安裝版
  • 鄭州做網(wǎng)站推廣外包產(chǎn)品推廣方式
  • 鞍山網(wǎng)站制作公司優(yōu)化綠松石什么意思
  • 泉州建設(shè)網(wǎng)站開發(fā)快速排名優(yōu)化
  • 湖南做網(wǎng)站磐石網(wǎng)絡(luò)案例cba最新排名
  • 淘寶的網(wǎng)站建設(shè)seo分析報告怎么寫
  • 網(wǎng)站如何提高權(quán)重做百度推廣怎么做才能有電話
  • 響應(yīng)式網(wǎng)站建設(shè)效果迅雷下載磁力天堂
  • 萬網(wǎng)個人網(wǎng)站備案查詢東莞今天的最新通知
  • 有關(guān)做聚合物電池公司的網(wǎng)站網(wǎng)站優(yōu)化外包推薦
  • 如何再國外網(wǎng)站做折扣什么是seo?
  • 中關(guān)村在線官方網(wǎng)站電腦首頁關(guān)鍵詞排名
  • 愛站網(wǎng)排行榜武漢抖音seo搜索
  • 網(wǎng)站設(shè)計app微信推廣方式有哪些