0

是否有可能有一个具有这种行为的字符串流?

std::istringstream stringstream("hello world");
std::string output;
stringstream >> output;
assert(output == "hello world");

用例:

template <typename T>
T as(void) {
    T t;
    std::istringstream stringstream(this->m_str);
    stringstream >> t;
    return t;
}

如果 T 是 std::string,它将不起作用。我可以进行专业化,但我想避免它。

4

1 回答 1

1

不是直接的,因为operator>>采用 a 的重载std::string只会读取到第一个空格并且不包括第一个空格,所以调用只会得到"hello".

于 2012-07-09T15:12:37.593 回答