Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #10999
| From | laird@lbreyer.com |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Help with post-increment and sequence points |
| Date | 2011-10-20 00:23 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <26287949.549.1319095405219.JavaMail.geo-discussion-forums@prfp13> (permalink) |
#include <iostream>
int main() {
int i = 1;
std::cout << i << i++ << i << "\n";
}
Compiling this code in g++ prints out 212 . Is this correct? If so, I don't understand why.
Shouldn't this actually be equivalent to f(f(f(f(std::cout,i),i++),i),"\n") where f is operator<< ? In that case, each time a function is entered, there should be a sequence point which makes the side effects happen. So I'd expect the output to be 112 instead.
% g++ --version
g++ (Debian 4.6.1-4) 4.6.1
Best regards,
Laird Breyer
Back to comp.lang.c++ | Previous | Next — Next in thread | Find similar | Unroll thread
Help with post-increment and sequence points laird@lbreyer.com - 2011-10-20 00:23 -0700
Re: Help with post-increment and sequence points Leigh Johnston <leigh@i42.co.uk> - 2011-10-20 12:57 +0100
Re: Help with post-increment and sequence points softwareEngineer <ovNOSPAM@NOSPAMlibero.it> - 2011-10-20 14:16 +0200
Re: Help with post-increment and sequence points Victor Bazarov <v.bazarov@comcast.invalid> - 2011-10-20 08:26 -0400
Re: Help with post-increment and sequence points Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-10-20 06:06 -0700
Re: Help with post-increment and sequence points Victor Bazarov <v.bazarov@comcast.invalid> - 2011-10-20 09:50 -0400
Re: Help with post-increment and sequence points laird@lbreyer.com - 2011-10-20 14:16 -0700
Re: Help with post-increment and sequence points Markus Wichmann <nullplan@gmx.net> - 2011-10-20 18:09 +0200
csiph-web