# Trivial std::istream question

## Recommended Posts

Aardvajk    13207
Sorry to bother you all with such a trivial question, but I've been trawling the net and can't seem to find an answer. If I do, say:
void f(std::istream &is)
{
int i=10;

is >> i;
}

If the >> operation fails for whatever reason (i.e. not a valid integer in the stream for example), does the C++ standard guarantee that the original value of i will not be changed, or is it better to save the value and reassign it if the >> operation fails? Ta. Paul

##### Share on other sites
Sharlin    864
Yes, it is guaranteed (22.2.2.1.2 [lib.facet.num.get.virtuals], among others).