我正在将我的字段类读取函数转换为一个模板函数。int, unsigned int, long,我有和的字段类unsigned long。这些都使用相同的方法从 an 中提取值istringstream(仅类型更改):
template <typename Value_Type>
Value_Type Extract_Value(const std::string& input_string)
{
std::istringstream m_string_stream;
m_string_stream.str(input_string);
m_string_stream.clear();
m_string_stream >> value;
return;
}
棘手的部分是bool(Boolean) 类型。Boolean: 有许多文本表示形式
0, 1, T, F, TRUE, FALSE,以及所有不区分大小写的组合
以下是问题:
boolC++ 标准说什么是使用流提取运算符提取 a 的有效数据?- 既然布尔值可以用文本来表示,那么这涉及到
locales吗? - 这个平台依赖吗?
我想通过不编写自己的bool输入处理程序来简化我的代码。
我正在使用 MS Visual Studio 2008(版本 9)、C++ 以及 Windows XP 和 Vista。