我只是想知道 clear() 和 str(""); 之间有什么区别。
例如:
stringstream ss("Stack Overflow");
ss.clear();
ss.str("");
我想知道潜在的技术差异。
我只是想知道 clear() 和 str(""); 之间有什么区别。
例如:
stringstream ss("Stack Overflow");
ss.clear();
ss.str("");
我想知道潜在的技术差异。
clear()
清除stringstream
. 也就是说,它将错误状态设置为goodbit
(等于零)。
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