關於巨集定義 define

2021-10-22 15:03:57 字數 963 閱讀 7399

- 用來防止標頭檔案相互呼叫包含:

'''#ifndef _test_macro //if not define

#define _test_macro //define

'''#endif

'''- 有參巨集 '#define 巨集名 引數'

例如 '''

#define _can_open_first 0

#define _can_open_second 1

int main

'''同樣 他還可以表示資料型別,如

'''#define mm struct student

struct student

mm stu = ;

std::cout<'''

巨集定義還可以做運算和巨集巢狀,不過多列舉

#define只是單純的替換文字

typedef 則重新命名了整個型別

'''#define _int1 int*

typedef int* _int2

_int1 a1,b1; //定義了乙個int*型別的a1,和int型的b1

_int2 c1,d1;

b1 = &m; //notok

d1 = &n; //ok

'''

'#pragma once'  兩種可以一起用,但是這種相容性不太好,比較新
『class cstudent』

什麼情況下使用呢? **當此類有可能是父類時**

原因是: ** 當我們new乙個子類時,使用基類指標指向該子類物件,釋放基類指標時可以釋放子類空間,防止記憶體洩漏**

為什麼預設析構函式不是虛函式呢? 因為使用虛函式會占用額外記憶體,所以除了可能被作為父類的類需要手動虛函式析構函式,預設不是虛函式

define巨集定義

預處理指令 以 開頭的行,都預處理指令,用於指示編譯器做一些預處理工作。比如 include h 注 預處理指令不是語句,行尾不要加分號 define的兩種用法 1.定義乙個 數值 2.定義乙個 算式 注 工程中應該避免使用這兩種方式 定義乙個值 define pi 3.14 int main 定義...

巨集定義 define

巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。1 define printx printf d n x 在c程式中,以 字元開頭的 都是一條c預處理器語句。預...

define巨集定義

include include define sub x,y x y define access before element,offset,value sub element,offset value using namespace std int main access before array...