Domanda

Volevo solo sapere qual è la differenza tra clear () e str (" ");

Ad esempio:

stringstream ss("Stack Overflow");

ss.clear();

ss.str("");

Volevo conoscere la differenza tecnica di fondo.

È stato utile?

Soluzione

clear() cancella i flag di stato dell'errore in stringstream. Vale a dire che imposta lo stato di errore su goodbit (che è uguale a zero).

str("") imposta l'oggetto stringa associato sulla stringa vuota.

In realtà fanno cose completamente diverse. La peculiare scelta dei nomi fa sì che suoni come se svolgessero compiti simili.

Altri suggerimenti

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top