Trivial std::istream question

This topic is 3937 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

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
Yes, it is guaranteed (22.2.2.1.2 [lib.facet.num.get.virtuals], among others).

• 10
• 12
• 10
• 10
• 11