テンプレート

整数型と浮動小数点型の計算でテンプレートを使ってみた.コンテナとかイテレータとかは使ってたけれど,自分でテンプレートを使うのは初めてだ.

template <typename T>
static Expression *calcArithmeticSub( OP_CODE op, T vl, T vr)
{
	Expression	*ret = NULL;
	switch(op) {
	case codeAdd: ret = CreateLiteral(vl+vr); break;
	case codeSub: ret = CreateLiteral(vl-vr); break;

		:

	}
	return ret;
}

みたいな感じで.

(片方が整数型,片方が浮動小数点型の場合は,両方を浮動小数点型にして計算)