一个计算四则表达式的模板
在9月8日那天我特意编写的,给大家分享的,Q\Jeq,W_(?,pBR一个很方便的函数模板,可以并且只可以计算含括号的四则表达式+m/p0} Oe3R*E
只有一个函数接口:int GetExpValue(_Tstream& istrin, _T& nReturn)2AD UJ*~V4vc
参数解释:
istrin: 一个输入流,可以是标准IO流,可以是文件流,也可以是串流CO7k/ea/w&Z}4d+w O
nReturn:用于接收计算结果的变量,计算所使用的类型由这个变量确定
返回值:
返回非0表示计算成功,0表示计算失败有错误
*RHs]yV:E6h
程序代码:
namespace fy_Exp{3U Z0m G$m~Df n
namespace {template <class _T>
inline _T GetExpValue(_T t[], char& csym){
char c=csym; csym=0;
switch(c){
case '+':return t[0] += t[1];
case '-':return t[0] -= t[1];NE,p9fi'vMw
case '*':return t[0] *= t[1];gY[({)Ur5V
default: return t[0] /= t[1];//case '/':
}
}}8r$pU:rzmG
template <class _T, class _Tstream>
/* _Tstream: inputstream, _T: get return value