我有使用lexical_cast的模板代码。
现在,我想删除所有的lexical_cast调用(因为它在/clr中不能很好地工作)。
我需要在std::string和它们的值之间转换对象。
因此,第一个方向很容易(T _from,std::string _to):
std::ostringstream os;
os << _from;
_to = os.str();但我想不出一种从字符串到任何类型的通用方法(我需要一些通用的东西来处理模板,不能只对每种类型使用专门化并使用像atoi这样的函数)
编辑:
当然,我也尝试过在相反的方向上使用字形流。我知道这个错误:
错误C2784:'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &&,_Elem *):无法从‘std::_Traits>流’中推断出'std::basic_istream<_Elem,_Traits>&‘的模板参数。
发布于 2011-07-31 11:00:29
lexical_cast使用双向流,<<和>>。你也可以这样做:
std::stringstream sstr;
sstr << _from;
sstr >> _to;不过,一定要包括精神健康检查。
https://stackoverflow.com/questions/6888975
复制相似问题