PDA

Pogledaj cijelu verziju : C++ pitanja



captain gamer
27-10-2008, 20:02
#include <iostream.h>

void main()
int a = 0, b = 1, c= 2;

a = ++b + c--; // a = 2 + 2
b = a - --c + ++b; // b = 4 - 0 + 3
c = b++ - a-- + --c; // c = 7 - 4 - 3

cout<< a << endl;
cout<< b << endl;
cout<< c << endl;
________________________________________________




program je točan no ja nerazumijem kako unarni aritmički operatori rade?
može li mi mlim vas itko objasnit?

Luka
28-10-2008, 14:53
Pretpostavljam da pitaš za ++ i --, ne općenito kako "rade" operatori?

++ prije varijable (npr. ++a) se ponaša kao funkcija koja uveća varijablu za 1 i nakon toga "vrati" tu vrijednost kako bi se mogla koristiti u ostatku danog izraza. ++ nakon varijable (npr. a++) radi slično, uz razliku da se izrazu u kojem se koristi "vrača" stara vrijednost

-- unarni operatori rade na isti način, samo što umjesto uvećavanja za 1 oni smanjuju za 1

captain gamer
28-10-2008, 15:32
Ali, kako to misliš vrati vrjednost?

Tracer
28-10-2008, 16:05
Znači, ako imaš sljedeće:

int a = 1, b;
b = a++; // b = 1, ali nakon završetka ove naredbe "a" će se povećati za 1.
novo stanje nakon izvršetka naredbe (a = 2, b = 1)

int a = 1, b;
b = ++a; // b = 2. pošto je ++ ispred varijable "a" onda će se ona ODMAH uvećati za 1
novo stanje (a = 2, b = 2)

captain gamer
28-10-2008, 16:20
AHaaa, mislim da sam skužio. Hvala.
No naravno ako netko drugi ima pitanja neka slobodno ovdje postavi.
Ja zna da ću ih još imat :)

captain gamer
28-10-2008, 18:01
Nisam skužio one specijalne znakove za znakovne nizove.
\t
\v
\r
\n
\b

sve piše što znaći, Ali nije baš razumljivo napisano.
npr. uz \a signal
piše no ne razumijem. Nepiše čemu služi itd.

Tracer
28-10-2008, 18:18
signal. misli se na zvučni signal ;) iako, da budem iskren, nisam siguran da li je to više podržano :S

fps_gamer
28-10-2008, 18:34
u dev-c++ je... :D
\n - novi red

za drugo neznam...

btw, da isprobas u kodu to i onda ako ne razumijes dođeš pitati?

Luka
28-10-2008, 19:00
ma shvaća ali nije shvatio signal :)

captain gamer
29-10-2008, 20:01
Evo baš sad gledam, i vidim da nisi naveo za što služe i kako se rade DLL datoteke. pošto sam još početnik, pa ne znam je li Dll datoteka uopće C++, može li mi netko objasnit te tipove podataka. No ne samo DLL, već i BIN, DL_,

Tracer
29-10-2008, 20:07
Ako si početnik daleko si od dll datoteka...

captain gamer
03-11-2008, 16:05
Može li mi netko popmnije objasniti naredbu static_cast<> ()
jer ju autor nije dobro objasnio. Ne govorim o tebi trace. ;)

Tracer
03-11-2008, 16:51
static_cast je zapravo obični cast.. to je sve što do sada trebaš znati. Znači, pretvorba iz jednog (srodnog) tipa podatka u drugi. npr.

double f = 4.534;
int n = static_cast<int>(f);

je isto što i

double f = 4.534;
int n = (int)f;

Ovo je samo primjer, dok ove pretvorbe su u pravilu automatske. static_cast pretvorba se događa pri compiliranju, a postoji i runtime pretvorba dynamic_cast koja je malo složenija.