C 基礎知識(命名空間 過載 預設引數)

2021-08-26 03:00:13 字數 1534 閱讀 1136

一、型別分類

型別分類: 

基礎型別

自定義型別

二、命名空間

1.命名空間相當於全域性域,用{}括起來乙個檔案,用namespace給這個檔案命名。

std是c++庫里的檔案,它的使用有兩種方法,一種是using namespace std,一種是std::cout<

2.c語言中1個域無法對乙個變數進行多次定義,會造成重定義的問題。

如下所示就由於a重定義從而導致無法編譯:

c++通過命名空間解決此問題,通過給不同的域定義不同的名字從而對域進行隔離,解決命名衝突的問題:

3.總結:using namespace std命名空間的優缺點

優點:解決了c語言命名空間衝突的問題(乙個域內無法對變數進行多次定義)

缺點:直接呼叫的庫里的函式,如果定義的與庫里的重複,則無法進行編譯

三、函式過載

c語言不支援兩個函式的函式名相同,而c++支援兩個函式的函式名相同,即過載。

1.定義:函式名相同,引數不同(引數的個數或型別不同)

引數不同是指引數的個數或者型別不同(其中若引數有多個個數和型別,只要順序不同也可構成過載)

2.c++是怎樣支援過載的?

c++遵循函式名修飾規則,c++的命名由函式名以及引數型別等構成,既是函式名相同,但是引數不同,從而函式引數的首字母不同,從而函式名不同,所以c++支援過載

四、預設引數

1.分類:

預設引數分為全預設與半預設,全預設即函式的引數都給賦值,半預設即函式的引數可以部分不賦值

2.半預設引數只能從左向右預設,以下的定義是不可以的,預設實參不在形參列表的結尾

intf3(

intx1

=5,intx2)

C 知識點 命名空間 預設引數 過載

1.什麼是c 2.c 與c語言的差異 3.c 中的命名空間例 namespace s1namespace s2int main 4.預設引數int add1 int x,int y,int z 沒有預設值 int add2 int x,int y,int z 3 半預設 int add3 int x...

c 命名空間 函式過載 預設引數

在c c 中,變數 函式和類都是大量存在的,這些變數 函式和類的名稱將都存在於全域性作用 域中,可能會導致很多衝突。使用命名空間的目的是對識別符號的名稱進行本地化,以 避免命名衝突或名字汙染,namespace 關鍵字的出現就是針對這種問題的。1.1 命名空間的定義 namespace n1 1.1...

C 命名空間 預設引數 函式過載

使用命名空間是要對識別符號的名稱進行本地初始化,避免命名衝突。定義命名空間需要用到namespace關鍵字,後跟命名空間的名字,在 內為命名空間的成員 普通的命名空間 namespace n1 巢狀的命名空間 namespace n2 namespace n3 同一工程中允許存在多個相同名稱的明明空...