我只想知道clear()和str(“”);
之间的区别例如:
stringstream ss("Stack Overflow");
ss.clear();
ss.str("");
我想知道潜在的技术差异。
答案 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