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 に答える