В чем разница между очисткой строкового потока и str

StackOverflow https://stackoverflow.com/questions/352420

  •  20-08-2019
  •  | 
  •  

Вопрос

Я просто хотел знать, в чем разница между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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top