1. 程式人生 > 實用技巧 >10_引用、巨集定義、typedef

10_引用、巨集定義、typedef

一 引用:給變數取別名

    int num = 10;
int& N = num; // 給num取別名叫做N(N是num的引用)

指標和引用的區別:

1 指標可以為空 引用不能為空

2 指標可以不初始化 引用必須初始化

3 指標可以改變指向 引用不能改變被引用物件

4 指標有自己的記憶體 引用與被引用物件共享同一段記憶體

二 巨集定義:完全替換

#include <iostream>
using namespace std;

#define NUM 10
#define ADD1 2+2
#define ADD2 (2+2)
#define ADD(x,y,z) x=x+10;y=y-1;z=x+y

int main()
{
int a = NUM;
cout << a << endl; // 10

int b = a * ADD1;
cout << b << endl; // 22

int c = a * ADD2;
cout << c << endl; // 40

// 帶引數的巨集定義(帶參巨集)
ADD(a, b, c);
cout << c << endl;

return 0;
}

三 typedef:給型別取別名

// 給int型別取別名為I
typedef int I;

// 給int [10] 這個型別取別名 叫做ARR
typedef int ARR [10];

// main():
I a = 0;
ARR arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };