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

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

快捷做網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的基本功能

快捷做網(wǎng)站,網(wǎng)絡(luò)營(yíng)銷的基本功能,網(wǎng)站認(rèn)證是什么,wordpress掃描工具目錄 C關(guān)鍵字 C命名空間 命名空間的介紹 域作用限定符 命名空間的使用 C的輸入以及輸出 C中的缺省參數(shù) 缺省參數(shù)的介紹 缺省參數(shù)的使用 缺省參數(shù)的分類 全缺省參數(shù) 半缺省參數(shù) C關(guān)鍵字 在C中,有63個(gè)關(guān)鍵字,而C語言只有32個(gè)關(guān)鍵字 asm do i…

目錄

C++關(guān)鍵字

C++命名空間

命名空間的介紹

域作用限定符

命名空間的使用

C++的輸入以及輸出

C++中的缺省參數(shù)

缺省參數(shù)的介紹

缺省參數(shù)的使用

缺省參數(shù)的分類

全缺省參數(shù)

半缺省參數(shù)


C++關(guān)鍵字

在C++中,有63個(gè)關(guān)鍵字,而C語言只有32個(gè)關(guān)鍵字

asm do if return try continue auto double inline short typedef for
bool dynamic_cast int signed typeid public break else long sizeof typename    
throw case enum mutable static union wchar_t catch explicit namespace         
static_cast unsigned default char export new struct using friend class extern operator switch virtual register const false private template void true
const_cast float protected this volatile while delete goto reinterpret_cast

📌

這些關(guān)鍵字不需要死記硬背

C++命名空間

命名空間的介紹

在C++中,變量、函數(shù)和類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局作用域中,可能會(huì)導(dǎo)致很多沖突。而使用命名空間的目的是對(duì)標(biāo)識(shí)符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,namespace關(guān)鍵字的出現(xiàn)就是針對(duì)這種問題的,而定義一個(gè)命名空間就相當(dāng)于定義了一個(gè)新的作用域,命名空間中的所有內(nèi)容都局限于該命名空間中

例如,在C語言中,對(duì)于下面的程序

#include <stdio.h>
#include <stdlib.h>int rand = 10;int main()
{printf("%d\n", rand);return 0;
}
報(bào)錯(cuò)內(nèi)容:
“rand”: 重定義;以前的定義是“函數(shù)”

因?yàn)樵贑語言中,存在一個(gè)名為rand()的函數(shù),此時(shí)若將變量名定義為rand會(huì)與標(biāo)準(zhǔn)庫中rand()函數(shù)名產(chǎn)生沖突,而C語言能解決這個(gè)問題方法只有更改變量名,否則沒有其他辦法

但是在C++中,可以使用命名空間解決這個(gè)問題

所謂命名空間指當(dāng)前命名的變量所處的空間,在命名空間中,可以聲明變量/類型/函數(shù),例如

//命名空間1
namespace test1
{//變量int i = 0;//類型struct Student{int age;char name[20];};//函數(shù)int add(int x, int y){return x + y;}
}

在C++中,使用namespace關(guān)鍵字創(chuàng)建命名空間,語法如下:

namespace 命名空間名
{//變量/函數(shù)/類型
}//注意最后一行不需要分號(hào),不同于結(jié)構(gòu)體

在C++中,命名空間可以嵌套定義,例如:

//命名空間2
namespace test2
{int num = 0;//命名空間3namespace test3{int num = 0;}
}

對(duì)于上面的代碼,在命名空間test2中嵌套定義了一個(gè)命名空間test3

有了命名空間,就可以解決上面C語言出現(xiàn)的問題,解決方法如下:

//頭文件NameSpace.h中的命名空間4
//將rand變量放入命名空間test4中
namespace test4
{int rand = 10;
}//測(cè)試文件
//C++主函數(shù)
#include <iostream>
#include <stdlib.h>
#include "NameSpace.h"int main()
{//調(diào)用命名空間4中的rand變量,而不是標(biāo)準(zhǔn)庫中的rand()函數(shù)printf("%d\n", test4::rand);return 0;
}
輸出結(jié)果:
10

域作用限定符

在C++中,::表示域作用限定符,使用方法如下:

空間 :: 變量/類型/對(duì)象名

當(dāng)::左側(cè)空間為空時(shí),默認(rèn)在全局中尋找::右側(cè)的內(nèi)容,例如:

//NameSpace.h文件中的命名空間2與嵌套的命名空間3
//命名空間2
namespace test2
{int num = 20;//命名空間3namespace test3{int num = 30;}
}//C++主函數(shù)
#include <iostream>
#include <stdlib.h>
#include "NameSpace.h"//全局變量
int num = 10;int main()
{//域作用限定符//局部變量int num = 0;printf("%d\n", num);//全局變量printf("%d\n", ::num);//指定命名空間的變量printf("%d\n", test2::num);//嵌套的命名空間的變量printf("%d\n", test2::test3::num);return 0;
}
輸出結(jié)果:
0
10
20
30

命名空間的使用

在C++中,有三種使用命名空間的方法:

  1. 加命名空間名稱及作用域限定符,例如N::a
  2. 使用using將命名空間中某個(gè)成員引入,也稱部分展開,例如using N::a
  3. 使用using將命名空間整體引入,也稱全局展開,例如using namespace N

測(cè)試實(shí)例:

//NameSpace.h中的命名空間1
namespace test1
{//變量int i = 10;//類型struct Student{int age;char name[20];};//函數(shù)int add(int x, int y){return x + y;}
}//加命名空間名稱及作用域限定符
#include <iostream>
#include "NameSpace.h"int main()
{printf("%d", test1::i);return 0;
}
輸出結(jié)果:
10//部分展開
#include <iostream>
#include "NameSpace.h"
using test1::i;int main()
{printf("%d", i);return 0;
}
輸出結(jié)果:
10//全局展開
#include <iostream>
#include "NameSpace.h"
using namespace test1;int main()
{printf("%d\n", i);return 0;
}
輸出結(jié)果:
10

💡

在實(shí)際使用過程中,更推薦指定以及部分展開,如果只是自己練習(xí)時(shí),更推薦使用全局展開

注意,使用 using namespace N并不代表在函數(shù)中不可以指定,部分展開和全局展開都只是改變尋找方式,并不是使用了其中一種方式其他方式不可以再使用,只是大范圍會(huì)包括小范圍,而如果已經(jīng)全局展開,那么再指定將直接去指定的命名空間找,而不是在全局展開的命名空間中找

當(dāng)存在兩個(gè)相同的命名空間時(shí),會(huì)被合并成一個(gè)命名空間,而不是直接覆蓋,例如

//NameSpace.h中的兩個(gè)重名的命名空間
//兩個(gè)同名的命名空間
namespace test5
{int num1 = 10;
}namespace test5
{int num2 = 20;
}//測(cè)試文件
//同名命名空間合并
#include <iostream>
#include "NameSpace.h"
using namespace std;
using namespace test5;int main()
{cout << test5::num1 << endl;cout << test5::num2 << endl;return 0;
}
輸出結(jié)果:
10
20

C++的輸入以及輸出

在C++中,可以使用coutcin配合流插入運(yùn)算符<<和流提取運(yùn)算符>>使用,例如:

💡

使用coutcin時(shí)需要包含頭文件iostream,注意C++的標(biāo)準(zhǔn)庫頭文件不包含不帶有.h,并且需要引入命名空間std(C++中的標(biāo)準(zhǔn)命名空間)或者直接指定。因此推薦使用<iostream>+std的方式

//C++的輸入和輸出
#include <iostream>
using namespace std;int main()
{int num = 0;cout << "請(qǐng)輸入數(shù)值:";cin >> num;cout << num << endl;return 0;
}
輸入:
10
輸出結(jié)果:
請(qǐng)輸入數(shù)值:10
10

在上面的代碼中,定義了一個(gè)num變量,通過標(biāo)準(zhǔn)輸入對(duì)象cin和流提取運(yùn)算符>>控制變量num的輸入,不同于C語言,此處輸入可以不需要取地址運(yùn)算符&,對(duì)變量?jī)?nèi)容的輸出使用標(biāo)準(zhǔn)輸出對(duì)象cout和流插入運(yùn)算符<<控制內(nèi)容的輸出,而endl表示換行符,作用效果類似'\n'

在C++中,輸入和輸出可以自動(dòng)識(shí)別變量類型,故輸出和輸入不需要占位符

#include <iostream>
using namespace std;int main()
{//int num = 0;//cout << "請(qǐng)輸入數(shù)值:";//cin >> num;//cout << num << endl;int num = 0;double num1 = 0;char c = 0;cin >> num >> num1 >> c;//多組內(nèi)容的輸入,相當(dāng)于scanf("%d%lf%c", &num, &num1, &c);cout << num << ' ' << num1 << ' ' << c;//多組內(nèi)容輸出,相當(dāng)于printf("%d %f %c", num, num1, c);return 0;
}
輸入:
1 2.5 c
輸出結(jié)果:
1 2.5 c

📌

scanf一樣,cin會(huì)自動(dòng)忽略空白字符

  • 也可以使用指定的方式使用coutcin
//C++的輸入和輸出
#include <iostream>int main()
{int num = 0;std::cin >> num;std::cout << num << std::endl;return 0;
}
輸入:
10
輸出:
10

C++中的缺省參數(shù)

缺省參數(shù)的介紹

在C++中,缺省參數(shù)是指在函數(shù)的定義以及聲明中可以為形式參數(shù)賦值,例如

int add(int x = 0, int y = 0)
{return (x + y);
}

在上面的代碼中,變量x和變量y賦值為0,稱xy為缺省參數(shù),兩個(gè)0為兩個(gè)缺省參數(shù)的缺省值,缺省值必須是常量或者全局變量

如果調(diào)用add函數(shù)時(shí)不傳入實(shí)際參數(shù)或者同類型數(shù)值時(shí),則add函數(shù)直接使用缺省參數(shù)的數(shù)值進(jìn)行計(jì)算,例如

#include <iostream>
using namespace std;int add(int x = 0, int y = 0)
{return (x + y);
}int main()
{//調(diào)用add函數(shù)不傳參數(shù)cout << add() << endl;//調(diào)用add函數(shù)傳一個(gè)參數(shù)cout << add(1) << endl;//調(diào)用addd函數(shù)傳兩個(gè)參數(shù)cout << add(1, 2) << endl;return 0;
}
輸出結(jié)果:
0
1
3

缺省參數(shù)的使用

在C++中,缺省參數(shù)有兩種,第一種是全缺省參數(shù),第二種是半缺省參數(shù)

在使用缺省參數(shù)時(shí),必須遵循從右往左連續(xù)使用,不可以跳躍式使用,例如對(duì)于下面的函數(shù):

int add(int x = 0, int y = 0, int z = 0)
{return (x + y);
}

使用時(shí)滿足從右往左使用

//缺省參數(shù)
#include <iostream>
using namespace std;int add1(int x = 0, int y = 0, int z = 0)
{return (x + y);
}int main()
{//使用缺省參數(shù)時(shí)必須從右往左連續(xù)使用//正確使用方法add1(1, 2);//使用第三個(gè)缺省參數(shù)add1(1);//使用第二個(gè)和第三個(gè)缺省參數(shù)add1();//使用全部缺省參數(shù)add1(1, 2, 3);//不使用缺省參數(shù)//錯(cuò)誤使用方法add1(1, , 2);//不可以直接使用第二個(gè)缺省參數(shù)add1(, 1, 2);//不可以直接使用第一個(gè)缺省參數(shù)add1(, , 1);//不可以直接使用第一個(gè)和第二個(gè)缺省參數(shù)add1(, 1, );//不可以直接使用第一個(gè)和第三個(gè)缺省參數(shù)return 0;
}

📌

“從右往左使用”意思是,當(dāng)調(diào)用函數(shù)給函數(shù)傳遞實(shí)際參數(shù)時(shí),第一個(gè)實(shí)參對(duì)應(yīng)著第一個(gè)第一個(gè)形參,第二個(gè)實(shí)參對(duì)應(yīng)著第二個(gè)形參,第三個(gè)實(shí)參對(duì)應(yīng)著第三個(gè)形參,使用缺省參數(shù)時(shí),當(dāng)只傳遞一個(gè)實(shí)際參數(shù)時(shí),該實(shí)際參數(shù)對(duì)應(yīng)著第一個(gè)形參,此時(shí)使用第二個(gè)和第三個(gè)缺省參數(shù),同理,當(dāng)傳遞兩個(gè)實(shí)際參數(shù)時(shí),兩個(gè)實(shí)際參數(shù)對(duì)應(yīng)的前兩個(gè)形參,使用第三個(gè)缺省參數(shù),即總是滿足最右邊的缺省參數(shù)是第一個(gè)使用的

“連續(xù)使用”意思是,給函數(shù)傳遞實(shí)際參數(shù)到形參時(shí),不能出現(xiàn)類似于第一個(gè)實(shí)際參數(shù)傳給第一個(gè)形參,第二個(gè)實(shí)際參數(shù)不傳內(nèi)容,第三個(gè)實(shí)際參數(shù)傳遞給形參等間隔性的傳遞

缺省參數(shù)的分類

在C++中,缺省參數(shù)分為

  1. 全缺省參數(shù)
  2. 半缺省參數(shù)

全缺省參數(shù)

全缺省參數(shù)是指在函數(shù)聲明或定義時(shí),所有變量都是缺省參數(shù),例如

int add1(int x = 0, int y = 0, int z = 0)
{return (x + y);
}

半缺省參數(shù)

半缺省參數(shù)是指在函數(shù)聲明或定義中,部分變量是缺省參數(shù),例如

int add1(int x, int y = 0, int z = 0)//只有y和z是缺省變量
{return (x + y);
}

半缺省參數(shù)中,必須滿足從右往左依次連續(xù)給出,不可以跳躍式給缺省參數(shù)(由于從右往左使用的原則),不是缺省變量的需要在調(diào)用時(shí)傳遞實(shí)際參數(shù),例如

//半缺省參數(shù)
int add2(int x, int y = 0, int z = 0)
{return (x + y);
}int add3(int x, int y, int z = 0)
{return (x + y);
}//不可以跳躍式給缺省值
int add4(int x = 0, int y, int z)
{return (x + y);
}int add5(int x, int y = 0, int z)
{return (x + y);
}int main()
{add2(1);//只有一個(gè)不是缺省參數(shù)時(shí),必須為該形參傳遞實(shí)參add3(1, 2);//有兩個(gè)不是缺省參數(shù)時(shí),必須為兩個(gè)形參傳遞實(shí)參add4(, 2, 3);//不可以使用,需要滿足從右往左使用缺省參數(shù)的原則add5(1, , 3);//不可以使用,需要滿足從右往左使用缺省參數(shù)的原則return 0;
}

聲明和定義函數(shù)缺省參數(shù)時(shí),一般建議聲明時(shí)給缺省參數(shù)和缺省值,而定義時(shí)不給缺省值,例如

//NameSpace.h中的函數(shù)聲明
int add6(int a = 20);//測(cè)試文件
//定義不給缺省值
int add6(int a)
{return a;
}#include <iostream>
#include "NameSpace.h"
using namespace std;int main()
{cout<<add6(2)<<' ';cout<<add6()<<'\n';return 0;
}
輸出結(jié)果:
2 20
http://www.risenshineclean.com/news/11948.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)多少錢一個(gè)站世界十大網(wǎng)站排名出爐
  • flash相冊(cè)網(wǎng)站源碼旅行網(wǎng)站排名前十名
  • 做圖片格式跟尺度用哪個(gè)網(wǎng)站好站長(zhǎng)統(tǒng)計(jì)app下載
  • 頁面設(shè)計(jì)的網(wǎng)站大連網(wǎng)絡(luò)推廣
  • 電商網(wǎng)站建設(shè)渠道網(wǎng)站開發(fā)培訓(xùn)
  • 長(zhǎng)春網(wǎng)站制作都找源晟27seo搜索優(yōu)化排名
  • 網(wǎng)站正能量不用下載直接進(jìn)入主頁可以嗎搜索引擎哪個(gè)好用
  • 如何查看網(wǎng)站備案號(hào)天津seo博客
  • 手機(jī)網(wǎng)站制作哪家便宜日本比分算1:1
  • 網(wǎng)站手機(jī)微信三合一怎么做搜索引擎營(yíng)銷的優(yōu)勢(shì)和劣勢(shì)
  • 網(wǎng)站基礎(chǔ)知識(shí)域名5個(gè)點(diǎn)品牌定位
  • 柴溝堡做網(wǎng)站公司seo網(wǎng)站推廣方式
  • 做糕點(diǎn)哪個(gè)網(wǎng)站鄂州網(wǎng)站seo
  • 建設(shè)網(wǎng)站的公司如何做網(wǎng)站設(shè)計(jì)
  • 論壇網(wǎng)站建設(shè)軟件網(wǎng)站優(yōu)化公司認(rèn)準(zhǔn)樂云seo
  • 網(wǎng)站服務(wù)器證書有問題超級(jí)外鏈發(fā)布工具
  • 金華建站價(jià)格深圳電子網(wǎng)絡(luò)推廣查詢
  • 起零網(wǎng)站建設(shè)信息流優(yōu)化師簡(jiǎn)歷怎么寫
  • 北京大興網(wǎng)站建設(shè)首選公司技術(shù)培訓(xùn)平臺(tái)
  • 張家港網(wǎng)站設(shè)計(jì)百度推廣賬戶優(yōu)化方案
  • 如何做賺錢的網(wǎng)站東莞快速排名
  • 網(wǎng)站服務(wù)器到期查詢純注冊(cè)app拉新平臺(tái)
  • ui設(shè)計(jì)定義seo流量工具
  • 有哪個(gè)網(wǎng)站專業(yè)做漫畫素材的寧波百度關(guān)鍵詞推廣
  • 網(wǎng)站群建設(shè)公司排行榜百度搜索資源平臺(tái)官網(wǎng)
  • 2345網(wǎng)址導(dǎo)航12年11個(gè)旺道網(wǎng)站優(yōu)化
  • 專門做男士用品的網(wǎng)站長(zhǎng)沙企業(yè)seo優(yōu)化
  • 上海市建設(shè)和城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站seo優(yōu)化公司排名
  • 備案 網(wǎng)站 漏接 電話企業(yè)網(wǎng)站是什么
  • 高價(jià)做單網(wǎng)站網(wǎng)站seo排名優(yōu)化工具在線