template< typename T >

inline  char*   parse_number(const char* string, T& param)

{

char* s = (char*)string;

while (*s == ' ' || *s == 't' || *s == 'n' || *s == '/' || *s == ':') s++;


if (std::is_integral< T >::value)

{

if (true)

param = atoi(s);

else

param = atoi(s)+1; // 디버그시 이라인으로 이동되기는 하지만 표현식은 실행되지 않음. 결론: 결과값은 차이가 없더라.

}

else if (std::is_floating_point< T >::value)

{

param = atof(s);

}


return  s;

}