模板和字符串转换
Templates and string conversion
我正在创建一个计划从文件读取/写入的泛型类。
因此,我不确定将实例化哪种类型。如何在读取阶段将字符串转换为某种未知类型?
IE
template<class T>
void fromString(std::string from, T to) {
to = from;
}
无论如何,在不专门从事大量课程的情况下做到这一点?
这样做的
惯用方法是使用这样的东西:
template<typename T>
void fromString(std::string from, T& to) {
std::istringstream iss(from);
iss >> to;
}
大多数用于解析字符串输入格式的可用标准专用化将由现有可用的std::istream& operator>>(std::istream&, T&);
专用化涵盖。
无论如何,在不专门从事大量课程的情况下做到这一点?
不,您仍然需要为各种课程提供专业化,例如
class Foo {
private:
int x;
double y;
public:
std::istream& getFromStream(std::istream& input) {
input >> x;
input >> y;
return input;
}
};
std:istream& operator>>(std::istream& is, Foo& subject) {
return subject.getFromStream(is);
}
相关文章:
- wcstombs_s(),转换字符串的长度
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 无法转换字符串插入函数的参数
- 转换字符串向量:基于先前的值跳过元素
- 从中间器转换字符串不起作用,出了什么问题?
- 失败的证明转换字符串到枚举类
- 如何使用正则表达式和提升转换迭代器标记和转换 c 字符串
- 使用java jni时转换字符串类型
- 如何避免在转换字符串令牌流时重复istringstream构造
- 阿托伊未正确转换字符串
- C++,转换字符串,使连续下划线序列变为单个下划线
- 使用长算术转换字符串
- 转换字符串十进制数时的精度
- 将词法转换字符串提升为双精度
- 使用marshal_as函数转换字符串的性能
- C++不会从数据转换字符串
- 无论如何,在c++ /Qt中转换字符串到结构中的字段
- C++ 隐式类型转换字符串 -> int?
- 转换字符串到浮点数,c++实现
- 用于转换字符串大小写的函数