• Advertisement
Sign in to follow this  

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.

If you intended to correct an error in the post then please contact us.

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 this post


Link to post
Share on other sites
Advertisement
Yes, it is guaranteed (22.2.2.1.2 [lib.facet.num.get.virtuals], among others).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement