我可以使用cin>>快捷方式字符串流:: rdbuf()?

时间:2016-02-25 04:41:05

标签: c++ cin stringstream

我开始安全地实现了一些读取字符串并解析它的代码:

#include <iostream>
#include <sstream>

int main() {
  string work;
  int var1, var2;

  cin >> work;                        // Fill working string from stdin
  stringstream(work) >> var1 >> var2; // Parses as expected.
  cout << var1 << ' ' << var2 << endl;
  return 0;
}

我以为我会删除一些无关的代码,它似乎工作正常,但我可以理解这可能是

  ...
  stringstream work;
  ...
  cin >> work.rdbuf();  // Fill working string from stdin
  work >> var1 >> var2; // Parses as expected.
  ...

为什么从istream读取不会以错误的方式覆盖工作缓冲区?用这种技术我应该注意什么?

0 个答案:

没有答案