cpp的巨集和模板的簡單介紹

2021-12-29 21:33:16 字數 962 閱讀 7220

編譯階段對**進行預處理,簡單的替換,不會進行安全檢查

巨集的名字大寫,使用const代替巨集,使用內聯函式代替巨集函式關於#define 和ifdefine

關於\和#和##

巨集延續運算子(\)

字串常量化運算子(#)

標記貼上運算子(##)模板函式語法

template <>

() 模板類語法

template <>

class ;模板的預設引數

template 強大的stl庫就是使用模板寫的哦

//// main.cpp

// use_define_template

//// created by bikang on 16/10/25.

// copyright (c) 2023年 bikang. all rights reserved.

//#include

#define pi 3.1416

#define square(x) x * x

#define square2(x) \

(x) * (x)

#define max(x,y) ( (x) > (y)?(x):(y))

//#和##

#define showdata(n) (cout

t tmpsub(t x, t y)

template

class mytempclass ;

t& getval();

private:

t val;

};int main(int argc, const char * ar**)

void tdeftmp(){

cout << "test tmp"< mt2;

string str1 = "hello cpp";

mt2.setval(str1);

cout << mt.getval()<

Appdelegate h和 cpp的簡單解析

class private cocos2d bool initialize director初始化導演 類名 成員名 這是靜態成員的使用 這句話是獲取導演物件 導演物件是單例模式 ccdirector pdirector ccdirector shareddirector 獲取繪圖視窗 相當於攝影師...

類模板的 h和 cpp檔案分離

templateclass abc include b.h templatevoid abc setvv t b templatet abc getvv include b.cpp include using namespace std int main abcab ab.setvv 10 cout...

CPP 巨集的字串處理

1 define a line line define b line a line define c int b line c int 行號 2 巨集定義涉及到字串連線 字串化 則引數 line 不繼續展開 define b line line define c int b line c int l...