前言
為遂溪等地區用戶提供了全套網頁設計制作服務,及遂溪網站建設行業解決方案。主營業務為成都網站制作、成都做網站、外貿營銷網站建設、遂溪網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!一、命名空間
1.1 命名空間的原理
1.2?命名空間的定義
???????1.3?命名空間的使用的三種方式
二、C++輸入&輸出
1.1 說明
1.1cout和cin
三.缺省參數
3.1
3.2
3.3
3.4
3.5 缺省的分類
void Func(int a, int b = 10, int c = 20) //半缺省
void Func(int a = 10, int b = 20, int c = 30) ?全缺省
4.函數重載
4.1 函數重載:
4.2 編譯流程
4.3?C++支持函數重載的原理--名字修飾(name Mangling)
總結
命名空間,缺省,輸入輸出,函數重載
提示:以下是本篇文章正文內容,下面案例可供參考
首先明確一點,namespace塊只能在全局作用域定義,且塊里定義的變量(包括函數,結構體等等)也是具有文件作用域的。namespace的作用相當于將塊內定義遮蓋起來,當你正常使用塊內定義的變量時,編
1.2?命名空間的定義 定義命名空間,需要使用到 namespace 關鍵字 ,后面跟 命名空間的名字 ,然 后接一對 {} 即可, {} 中即為命名空間的成員,就像下圖就行。 1.3?命名空間的使用的三種方式:建議用第一種和第二種 ,第三種相當于將namespace的域全部展開,隔離就失效了。namespace N
{
int a = 0;
int Add(x,y)
{
return x+y;
}
int b = 10
}
int main()
{
? ?printf("%d\n", N::a);//加命名空間名稱及作用域限定符
? ?return 0; ? ?
}
using N::b;//使用using將命名空間中某個成員引入
int main()
{
? ?printf("%d\n", N::a);
? ?printf("%d\n", b);
? ?return 0; ? ?
}
using namespce N;//使用using namespace 命名空間名稱 引入
int main()
{
? ?printf("%d\n", N::a);
? ?printf("%d\n", b);
? ?Add(10, 20);
? ?return 0; ? ?
}
二、C++輸入&輸出1.1 說明
1.使用
cout
標準輸出對象
(
控制臺
)
和
cin
標準輸入對象
(
鍵盤
)
時,必須
包含< iostream >頭文件
以及按命名空間使用方法使用
std
。
2.cout
和
cin
是全局的流對象,
endl
是特殊的
C++
符號,表示換行輸出,他們都包含在包含<
iostream >頭文件中。
3.<<
是流插入運算符,
>>是流提取運算符
。
1.1cout和cin三.缺省參數 3.1 半缺省參數必須 從右往左依次 來給出,不能間隔著給 3.2 缺省參數不能在函數聲明和定義中同時出現 3.3 缺省值必須是常量或者全局變量 3.4 C 語言不支持(編譯器不支持) 3.5 缺省的分類代碼如下(示例):
using std::cout;
using std::endl;
using std::cin;int main()
{
?int a;
?cin >>a;
?cout<< "longwang"<< a;
}
void Func(int a, int b = 10, int c = 20) //半缺省 void Func(int a = 10, int b = 20, int c = 30) ?全缺省4.函數重載 4.1 函數重載: 是函數的一種特殊情況, C++ 允許在 同一作用域中 聲明幾個功能類似 的同名函數 ,這 些同名函數的 形參列表 ( 參數個數 或 類型 或 類型順序 ) 不同 ,常用來處理實現功能類似數據類型 不同的問題。 4.2 編譯流程
要理解名字修飾的原理,首先要知道編譯流程。
4.3?C++支持函數重載的原理--名字修飾(name Mangling)c在處理名字符號時,用的方式相當簡單,而c++則不同。
不同編譯器的名字修飾規則不同,這里講的是g++的規則.
這是上圖用g++編譯后,用objdump -S導出的匯編程序,
這里的<_Z1fv>代表f(),1表示函數名長度,f是函數名,v表示參數首字母。
<_Z1fii>同理 1是長度,f是函數名,ii表示連個int 類型的參數。
4.4 一種特殊情況void f(int a = 0, int b = 0)
{
printf("f(a= 0,b=0)");
}
void f()
{
printf("f()");
}
int main()
{
f();
return 0;
}
當出現上述代碼時,會出現調用沖突,因為沒有單一路徑,所以編譯器無法選擇使用哪個函數。
以上就是今天要講的內容/
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
當前標題:C++基礎【1】-創新互聯
分享URL:http://m.newbst.com/article0/cogsio.html
成都網站建設公司_創新互聯,為您提供網站制作、面包屑導航、動態網站、網站設計、外貿建站、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯