如何强制 std::stringstream 运算符 >> 读取整个字符串而不是在第一个空格处停止?
我有一个模板类,它存储从文本文件中读取的值:
template <typename T>
class ValueContainer
{
protected:
T m_value;
public:
/* ... */
virtual void fromString(std::string & str)
{
std::stringstream ss;
ss << str;
ss >> m_value;
}
/* ... */
};
我试过设置/取消设置流标志,但没有帮助。
澄清
该类是一个容器模板,可以自动转换为类型 T。字符串只是模板的一个实例,它还必须支持其他类型。这就是为什么我要强制运算符 >> 模仿 std::getline 的行为。