C 預設引數和命名空間

2021-08-20 23:20:25 字數 753 閱讀 1657

今天再介紹一下c++的一些特點,今天要介紹的是c++的預設引數和命名空間兩個特點,

首先介紹一下什麼是預設(sheng)引數,

所謂預設引數,顧名思義,就是在宣告函式的某個引數的時候為之指定乙個預設值,在呼叫該函式的時候如果採用該預設值,你就無須指定該引數。預設引數使用主要規則:呼叫時你只能從最後乙個引數開始進行省略,換句話說,如果你要省略乙個引數,你必須省略它後面所有的引數,即:帶

預設值的引數必須放在參數列的最後面。 預設值必須是

常量。顯然,這限制了預設引數的資料型別,例如

動態陣列

和介面型別的預設引數值只能是 nil;至於記錄型別,則根本不能用作預設引數。 預設引數必須通過值參或常參傳遞。宣告是帶有預設引數的函式,則預設值只能寫在宣告當中。

#includeusing namespace std;

class data

void printf() }

// 第二個命名空間 namespace second_space

} int main ()

這種情況下就很大程度的解決了命名衝突的問題,隨著源**規模的增大,產生名字衝突的可能性也會越來越高,如兩家公司的類庫中都有乙個名為「stack」的類,那麼當你需要同時用到這兩個公司的類庫時,就會產生名字衝突,無法區分是哪乙個stack,因此,一般公司都會把自己的類,函式,變數等放在乙個名字空間中,防止衝突。

命名空間的概念是十分抽象的概念,並且當前我接觸和應用的並不是很多。

C 的命名空間 預設引數

命名空間 1 使用目的 對識別符號的名稱進行本地化,以避免命名衝突或名字汙染。命名空間的定義 includeusing namespace std namespace n1 n1為命名空間的名稱 命名空間可以巢狀 同乙個工程中允許存在多個相同名稱的命名空間,編譯器最後會合成同乙個命名空間。注 乙個命...

c 的過載 預設引數和命名空間

c 介紹 c幾乎是c 的乙個子集,所以c語言支援的語法在c 基本都支援並需要使用。c plus plus c 所以在c的基礎上又有了很多新的特性。先說說什麼是過載 c 允許多個函式擁有相同的名字,只要它們的引數列表不同就可以,這就是函式的過載 function overloading 借助過載,乙個...

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

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