1、 引用就是乙個記憶體單元的別名 (底層以指標的方式來支援引用,在引用使用的地方,系統自帶解引用過程)
引用一定要初始化
引用引用的變數一定要能取位址
引用不可改變的
只能訪問引用變數所引用的記憶體塊的內容
int &b = a; b引用a,b指向a的記憶體塊,即她倆位址相同
//說明引用底層以指標方式處理
引用引用的變數不能取位址 ==> 常引用可以處理
數值放到臨時量(記憶體) 常引用引用臨時量的記憶體單元
#include using namespace std;
int main()
const與*
#include using namespace std;
int main()
1.防止形參被修改
2.接收臨時變數
int mul(const int& a, const int& b)
int main()
不能返回區域性變數的指標和引用動態申請陣列
c++中使用 new delete
c中使用 malloc free
void* malloc(size_t size);
void free(void *prt);
new與malloc區別:
1. new是關鍵字
malloc是乙個函式
2. malloc在堆上生成
new自主訪問區域
3.malloc只開闢記憶體
new還可以初始化
4.記憶體不足時
malloc是返回null
new會丟擲異常
5.malloc不能開闢常量記憶體
new可以開闢常量記憶體
int main()
free(p1);
int* p2 = new int[10];
delete p2;
int* p3 = new int(10);
cout << *p3 << endl;
delete p3;
int* p4 = new int[10]();
delete p4;
const int* p5 = new const int(10);
delete p5;
const int* p6 = new const int[10]();
delete p6;
int** p7 = (int**)malloc(sizeof(int*)* 10);
for (int i = 0; i < 10; i++)
for (int i = 0; i < 10; i++)
free(p7);
int** p8 = new int*[10];
for (int i = 0; i < 10; i++)
for (int i = 0; i < 10; i++)
delete p8;
}
c
全域性作用域
區域性作用域
c++全域性作用域
區域性作用域
名字空間作用域
類作用域
namespace
加上作用域
::全域性作用域訪問符
名字空間名稱::名字空間作用域訪問符
類::類作用域訪問符
using宣告
using namespace //using 指示符
int main()
名字空間同名==>合併
namespace cy1201
namespace cy1201
//這段**會報錯a被重定義,所以可以判斷出名字空間同名會合併
C 引用與const引用
1 在實際的程式中,引用主要被用做函式的形式引數 通常將類物件傳遞給乙個函式.引用必須初始化.但是用物件的位址初始化引用是錯誤的,我們可以定義乙個指標引用.1int ival 1092 2 int re ival ok 3int re2 ival 錯誤 4int pi ival 5int pi2 p...
C 引用 指標與const
引用即繫結到另乙個物件上,因此定義了乙個引用,對其操作即是對與之繫結的物件進行操作 如為引用賦值,獲取引用的值,以引用作為初始值.與引用類似,實現對物件的間接訪問。指標和引用的本質區別 引用不是物件,指標本身即是物件。指標和引用的共同 都需要型別和物件型別嚴格匹配 不支援型別轉換 並且指標只能指向變...
C 引用 const 引用
通過引用修改它指向變數的值 也就是說 通過修改 b 達到修改 a 的目的,也可以修改a int a 5 int b a b 40 int c b 此時a b c 40 例項1 宣告 double getarea int num 呼叫 double area this getarea 30 1 將30...