C++ stringstream clear和str之间的区别是什么

C++ stringstream clear和str之间的区别是什么,c++,stringstream,C++,Stringstream,我只是想知道clear()和str(“”)之间有什么区别 例如: stringstream ss("Stack Overflow"); ss.clear(); ss.str(""); 我想知道潜在的技术差异。clear()清除stringstream中的错误状态标志。也就是说,它将错误状态设置为goodbit(等于零) str(“”)将关联的字符串对象设置为空字符串 他们实际上做了完全不同的事情。名字的特殊选择只会让人觉得它们执行类似的任务。我几乎不认为名字是“特殊的”,它们一点也不相似。

我只是想知道clear()和str(“”)之间有什么区别

例如:

stringstream ss("Stack Overflow");

ss.clear();

ss.str("");
我想知道潜在的技术差异。

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

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

他们实际上做了完全不同的事情。名字的特殊选择只会让人觉得它们执行类似的任务。

我几乎不认为名字是“特殊的”,它们一点也不相似。你认为这很混乱的事实让我困惑。yesraaj str(“”)代码是否也会清除其内部代码中的标志?
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