pecet jogger

cokolwiek o czymkolwiek

C++ ciekawostka

08/01/2006, 16:24:34 | 6 komentarzy | Programowanie

Czy wiesz że: Kompilator VC7.1 za poprawną uznaje taką konstrukcję:
i = i++;
podczas gdy MinGW także uznaje za poprawną taką konstrukcję...

Szkoda tylko że rezultat obu jest z goła inny :p - o czym się dzisiaj przekonałem...
A tak w ogóle wiem że to idiotycznie wygląda i nie było to zamierzone tj. sam nie wiem czemu tak napisałem :p.

Reqamst (#) 08/01/2006 - 16:30:28

To jest tak jakbyś napisał: i = i = i + 1 czyli błędu tu raczej nie ma. Śmieszne. :P

PeCet (#) 08/01/2006 - 16:34:01

no tak ale ciekawe dlaczego całkiem co innego mi wyszło jak kompilowałem pod tym a co innego jak pod tamtym :p

Reqamst (#) 08/01/2006 - 16:41:38

VC robi czasami cuda. ;)

Dexter (MG) (#) 08/01/2006 - 18:17:09

A nie jest to przypadkiem jedna z niepoprawnych konstrukcji, której wynik nie jest zdefiniowany przez standard ceplusa?

Bossu Chomik (#) 23/03/2007 - 22:48:04

ja,nie moge, naprawde nie wiecie, że funkcja i = i++ polega na dodawaniu do jakiejś liczby ciągle liczby 1 ?

oto przykład programu:

#include <iostream.h>
#include <conio.h>
main()
{
int a, n;
cout<<"Ten program liczy do liczby o jeden mniejszej od n\n";
cout<<"Podaj n:";
cin>>n;
for(int i=0; i<n ; i=i++)
{
a=i++;
cout<<a;
}
cout<<"Koniec";
getch();
}

PeCet (#) 23/03/2007 - 22:49:12

Ziomuś, przeczytaj sobie pierwszy komentarz Requamsta...

Dodaj komentarz