1.命名空間
命名空間(namespace):將全域性作用域分成不同的部分,乙個命名空間是乙個作用域,不同命名空間中的識別符號可以重名而不不會衝突,命名空間可以相互巢狀使用。
//半預設引數#include
using
namespace
std;
int main()
5.指標和引用int add2(int a,int b=0);
引用不是定義乙個新的變數,而是給已有變數乙個別名。
使用方法:
型別名& 引用變數名=已定義過的變數名;
做引數:
(1)引用做引數可以達到和指標同樣的效果
(2)效率較高(物件比較大時傳引用)
(3)唯讀不會改變時家const修飾
做返回值:
提高效率,返回的物件不用拷貝。
若返回的是全域性變數(除了作用域還在)時,可以用引用返回,禁止返回臨時變數。
指標是乙個變數,用來存放位址。
定義方法:
型別名*變數名;
做引數時:
函式傳參時,形參是實參的乙份臨時拷貝,形參的改變並不能引起實參的改變。
做返回值:
返回的是乙個位址,切忌返回一塊臨時空間的位址,因為函式呼叫完成後,空間已經釋放,那麼這就成了乙個野指標,是一件很危險的事。
指標和引用的區別:
(1)引用只能在定義時初始化一次,之後不能改變其指向其他變數,指標變數的值可變
(2)引用必須指向有效的變數,指標可以為空。
(3)sizeof指標物件和引用物件的意義是不一樣的。sizeof引用得到的是所指向物件的大小,sizeof指標得到的是物件位址的大小
(4)指標和引用自增,自減意義不一樣。
(5)相比而言,指標比較靈活,但引用更安全。
CPP入門基礎知識
一.命名空間 1.命名空間的定義 命名空間的名字在其所在作用域中是唯一的,命名空間可以在全域性作用域或者其它作用域內部定義,但是不能在函式或者類的內部定義,命名空間作用域不能以分號結束。1 每個命名空間都是乙個作用域 命名空間中的每個名字必須引用該命名空間中的唯一實體,命名空間中的實體稱為命名空間的...
CPP入門基礎知識
1 命名空間 命名空間相當於乙個更加靈活的全域性域,可以用花括號把檔案的一部分括起來,並以關鍵字namespace開頭給它起乙個名字 如下定義兩個命名空間 namespace aa1namespace aa2 int main 可以看到兩個變數名都可以用a 所以命名空間域解決了全域性命名衝突的問題 ...
cpp入門基礎知識
1.命名空間域是隨標準c 而引入的。它相當於乙個更加靈活的檔案域 全域性域 可以用花括號把檔案的一部分括起來,並以關鍵字namespace開頭給它起乙個名字 namespace name1 namespace name2 name1 a 3 name2 a 4 2.名字空間域解決全域性命名衝突的問題...