stringstream clear和str有什么区别

时间:2008-12-09 11:17:43

标签: c++ stringstream

我只想知道clear()和str(“”);

之间的区别

例如:

stringstream ss("Stack Overflow");

ss.clear();

ss.str("");

我想知道潜在的技术差异。

2 个答案:

答案 0 :(得分:15)

clear()清除stringstream中的错误状态标志。也就是说它将错误状态设置为goodbit(等于零)。

str("")将关联的字符串对象设置为空字符串。

他们实际上做了完全不同的事情。特殊的名称选择只会让它声音就好像它们执行类似的任务一样。

答案 1 :(得分:5)

void clear ( iostate state = goodbit ) //clears and sets error flag passed as parameter

string str ( ) const;          //to get value from string stream
void str ( const string & s ); //to set value to string stream