命名空間
using namespace ::std //使用標準的命名空間,命名空間是用來解決全域性變數的命名衝突的問題。
c語言的引數傳遞是按值傳遞,c++中按值傳遞和按引用傳遞,按引用傳遞的實質還是指標。這裡寫**片
#include
using
namespace ::std;//使用標準的命名空間
namespace one
namespace two
int main(int arg,char *argv)
引用和引用引數
引用 1 引用是別名,在宣告時必須初始化,在實際**中主要用作函式的形式引數
2 引用作為目標的別名而使用,對引用的改動實際就是對目標的改動。
3 為了建立引用,需要先寫上目標的型別,再加上引用運算子「&」,然後是引用的名字。
舉例:
int intone;
int &rint = intone;//rint就是引用的名字,&引用運算子,目標型別是int ,初始化為intone,以後對rint的改動就是對intone 的改動。intone的位址和rint的位址一樣。
&只有在宣告引用時是引用操作符,其他時候都是位址操作符。
引用和變數指向同乙個單元,引用一旦初始化它就維繫在一定的目標上再也不分開。
由於指標也是乙個變數,可以有指標變數的引用,舉例說明
int *a = null;
int * &rpa = a;//int *型別的引用,初始化為a
int b = 8;
rpa = &b;//rpa是a的別名,也是個指標。
不能建立引用的陣列,沒有引用的指標和引用的引用。有空指標沒有空引用。
引用的引數傳遞
1 傳遞引用給函式和傳遞指標的效果一樣。
void swap(int &x,int &y)//引用作為引數
{ int temp;
temp = x;
x = y;
y = temp;
} 使用引用作為引數和返回值給函式的意義?
1函式只能返回乙個值,如果程式需要從函式返回兩個值怎麼辦?用引用給函式傳遞兩個引數,然後由函式往目標中填入正確的值。
2 函式返回值時,要生成乙個副本,而引用作為返回值時不生成值的副本,所以提高了效率。
C 命名空間 預設命名空間與匿名命名空間
2.匿名命名空間 預設命名空間也叫全域性命名空間,所有沒有置於某一具體命名空間下的 即在預設命名空間下,例如func main 函式。include void func void intmain int argc,char ar void func void 需要注意的是 這個就是類似於c語言裡簡單...
C 之命名空間
c中是沒有命名空間這個概念的,是c 中新引入的乙個東西,為了處理同名的衝突。其實命名空間就是封裝的乙個概念。把一些變數 函式 類給封裝起來。和類的封裝概念很像,但是比類的封裝要大。一 1.自定義定義命名空間 格式 namespacename namespace my 此 的目的就是想往命名空間std...
C 之命名空間
一 命名空間的定義與簡介 命名空間是ansi c 引入的可以由使用者命名的作用域,用來處理程式中常見的命名衝突。例如有兩個標頭檔案中都定義了student類,那麼在主程式中都包含這兩個標頭檔案時,使用student類便會編譯出錯。或者在程式中引入不同的庫時有相同的實體名,則在編譯時就會出現名字衝突。...