国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C/C++ 用宏定義實(shí)現(xiàn)簡(jiǎn)單泛型的功能

2019-11-10 23:19:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
#include <iostream>#include <cstdio>#include <cstdlib>#include <assert.h>using namespace std;//宏定義實(shí)現(xiàn)泛型//在宏定義中出現(xiàn)#和##,通常起到下面的作用:// #表示:對(duì)應(yīng)變量字符串化// ##表示:把宏參數(shù)名與宏定義代碼序列中的標(biāo)識(shí)符連接在一起,形成一個(gè)新的標(biāo)識(shí)符#define GNERIC_STACK(STACK_TYPE,SUFFIX,STACK_SIZE)  /	static STACK_TYPE stack##SUFFIX[STACK_SIZE];    /	static int top_element##SUFFIX=-1;			    /	bool is_empty##SUFFIX(){						/		return top_element##SUFFIX==-1;			    /	}                       					    /													/	bool is_full##SUFFIX(){							/		return top_element##SUFFIX==STACK_SIZE-1;	/	}												/													/	void push##SUFFIX(STACK_TYPE val){				/		assert(!is_full##SUFFIX());					/		top_element##SUFFIX+=1;						/		stack##SUFFIX[top_element##SUFFIX]=val;		/	}												/													/	void pop##SUFFIX(){								/		assert(!is_empty##SUFFIX());				/		top_element##SUFFIX-=1;						/	}												/													/	STACK_TYPE top##SUFFIX(){						/		assert(!is_empty##SUFFIX());   				/		return stack##SUFFIX[top_element##SUFFIX];	/	}//注意,下面的宏定義式子不能放到main()函數(shù)內(nèi),因?yàn)檫@個(gè)宏定義展開(kāi)后包含其他函數(shù)的定義,故不能//宏定義生成兩個(gè)不同類(lèi)型的堆棧//其結(jié)尾加不加';'都可以,注意下面的宏定義會(huì)被展開(kāi)成什么(文本替換)GNERIC_STACK(int,_int,10)//##起到連接作用,比如is_empty##SUFFIX(),SUFFIX為_(kāi)int,即最后生成is_empty_int()GNERIC_STACK(double,_double,10)//同上void test(){	push_int(5);	push_int(10);	push_int(22);	push_double(22.2);	push_double(-33.3);	push_double(-45.4);	while(!is_empty_int()){		cout<<top_int()<<" ";		pop_int();	}	cout<<endl;	while(!is_empty_double()){		cout<<top_double()<<" ";		pop_double();	}	cout<<endl;}int main() {	test();	return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 西乡县| 和硕县| 安多县| 嘉义市| 榆社县| 延长县| 葫芦岛市| 栖霞市| 静安区| 西华县| 高平市| 依兰县| 浦城县| 新津县| 临洮县| 简阳市| 万州区| 长寿区| 英超| 利川市| 宁河县| 会泽县| 长葛市| 青河县| 松潘县| 汽车| 烟台市| 仙桃市| 绥德县| 临洮县| 崇左市| 隆化县| 年辖:市辖区| 江油市| 兴宁市| 南汇区| 修文县| 亳州市| 淮滨县| 三亚市| 东阿县|