cpp入門基礎知識

2021-08-08 18:30:39 字數 1003 閱讀 8410

1.命名空間

命名空間(namespace):將全域性作用域分成不同的部分,乙個命名空間是乙個作用域,不同命名空間中的識別符號可以重名而不不會衝突,命名空間可以相互巢狀使用。

#include 

using

namespace

std;

int main()

//半預設引數

int add2(int a,int b=0);

5.指標和引用

引用不是定義乙個新的變數,而是給已有變數乙個別名。

使用方法:

型別名& 引用變數名=已定義過的變數名;

做引數:

(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.名字空間域解決全域性命名衝突的問題...