From mboxrd@z Thu Jan 1 00:00:00 1970 From: "swe sd" To: jay.krell@cornell.edu Cc: cygwin@sourceware.cygnus.com Subject: Re: problem in C++ pointer Date: Sat, 11 Mar 2000 21:20:00 -0000 Message-id: <20000312052029.47987.qmail@hotmail.com> X-SW-Source: 2000-03/msg00250.html I do not agree. I execute the same program on a UNIX station with gcc compiler and it works fine ... ie the output of line 7 is same as the output of line 9. >From: "Jay Krell" >To: "swe sd" , >Subject: Re: problem in C++ pointer >Date: Sat, 11 Mar 2000 16:31:28 -0800 > >Your code might be triggering undefined behavior in C++, because of the >++X[0] in the same statement where you otherwise read X[0]. Definitely >something like >printf("%d%d", X[0], ++X[0]); >is undefined but I've read something along the lines that when the >operator's are actually overloaded, function calls, that the order of >evaluation becomes defined.. > > > line 9: cout< > line 10: <<*X< > line 11: <<*X+5< > line 12: <<*X<<" "< > line 13: <<5+X[0]< > line 14: <<( X[0]==0 ? "X[0]=0" : "X[0]!=0")< > line 15: <<++X[0]< >something like, skipping endl. >cout.<<(A[0]).<<(" ").<<(&A).<<(" ").<<(&A[0]).<<(*X).<<(*X+5).<<(*X).<<(" >").< > - Jay > >-----Original Message----- >From: swe sd >To: cygwin@sourceware.cygnus.com >Date: Saturday, March 11, 2000 9:31 AM >Subject: B20: problem in C++ pointer > > > > I compiled the following program (attachment test.cc): > > line 1: #include > > line 2: void main() > > line 3: { const int size=10; > > line 4: int A[size]; > > line 5: int *X=NULL, i; > > line 6: for (i=0;i > line 7: cout< > line 8: X=A; > > line 9: cout< > line 10: <<*X< > line 11: <<*X+5< > line 12: <<*X<<" "< > line 13: <<5+X[0]< > line 14: <<( X[0]==0 ? "X[0]=0" : "X[0]!=0")< > line 15: <<++X[0]< > line 16: } > > and executing it gives output: > > $./a.out > > 0 0x259fd7c 0x259fd7c > > 1 0x259fd7c 0x259fd7c > > 1 > > 6 > > 1 1 > > 6 > > X[0]!=0 > > 1 > > Obviously, the output of line 9 is different from line 7 which > > >should be the same indeed. Is there anything wrong ? Thanks. ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com