Pergunta

Eu só queria saber o que é a diferença entre claro () e str ( "");

Por exemplo:

stringstream ss("Stack Overflow");

ss.clear();

ss.str("");

Eu queria saber a diferença técnica subjacente.

Foi útil?

Solução

clear() limpa os sinalizadores de estado de erro na stringstream. Isso quer dizer que ele define o estado de erro para goodbit (que é igual a zero).

str("") define o objeto de cadeia associada para a cadeia vazia.

Eles realmente fazer coisas completamente diferentes. A escolha peculiar de nomes apenas torná-lo som como se eles executam tarefas semelhantes.

Outras dicas

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top