1.命名空間的定義和使用
為什麼引入命名空間:在變數,函式,類的名稱都存在於全域性變數中,可能會導致一些衝突,引入命名空間的目的是對識別符號的名稱進行本地化,避免命名衝突(namespace關鍵字的出現就是針對這種問題)
//命名空間(每個命名空間都有自己的定義域,空間中所有的成員都侷限於該命名空間中)
//1.普通命名空間
namespace n1//n1是命名空間的名稱
}//命名空間的分段定義(同乙個工程中可以存在多個相同的命名空間名稱,編譯器最後會合成到同乙個命名空間)
namespace n1
}//2.命名空間的巢狀
namespace n2
namespace n3 }
}//命名空間的使用
//2.使用using 將命名空間中成員引入
using n1:
:b;using n1:
:add1;
//3.使用using namespace把命名空間名稱引入
using namespace n2;
intmain()
2.c++輸入和輸出
c++輸入輸出需要加iostream和std標準命名空間
using namespace std;
intmain()
不需要加任何限制輸出格式
using namespace std;
intmain()
3.預設引數
預設引數是宣告或定義函式時,為函式的引數指定乙個預設值,呼叫函式時,若沒有指定實參,則採用預設值,有引數時,採用實參的值。
//預設引數(不能在定義和宣告中同時出現,否則若給的值不同,編譯器無法確認)
//半預設必須從右到左連續賦值(void func1(int a = 10, int b)是錯誤的)
void
func1
(int a =10,
int b =22)
void
func2
(int a =10,
int b =2,
int c =33)
intmain()
注意:1.預設值必須是常量或者是全域性變數。
2.預設引數不能在函式定義和宣告中同時出現,若提供的值不同,編譯器會不知道用哪個引數
C 入門C 命名空間以及C 的輸入輸出
通過學習我們知道c語言是結構化和模組化的語言,適合處理較小規模的程式。對於複雜的問題,規模較大的程式,需要高度 的抽象和建模時,c語言則不合適。為了解決軟體危機,20世紀80年代,計算機界提出了oop object oriented programming 物件導向 思想,支援物件導向的程式語言應運...
C 基礎 命名空間及如何實現輸入輸出
眾所周知,c 作為一種物件導向的語言,當中的變數 函式 類都是大量存在的。假如這些變數 函式 類的名稱都存在於全域性作用域當中,就可能會導致很多衝突。舉個形象的例子,乙個學校有三個年級 乙個年級有三個班,很巧的是這個學校的每個年級的每個班級裡都有乙個叫小明的學生。這個學校就相當於乙個全域性作用域,當...
命名空間簡介 基本輸入輸出精解
命名空間就是為了防止名字衝突而引入 的一種機制。系統中可以定義多個命名空間,每個命名空間都有自己的名字,不可以同名 大家就可以把這個命名空間看成乙個作用域,我們在這個命名空間裡定義函式,跟你另外乙個命名空間裡定義的函式,即使同名,也互不影響。1 命名空間的定義 namespace 命名空間名 2 命...