Melyik fut le gyorsabban?
return EXIT_SUCCESS;
return 0;
.........
Ezen kívül a NULL helyett van valami constptr vagy mi az mi csoda?
Mivel az EXIT_SUCCESS valószínűleg így van megadva:
#define EXIT_SUCCESS 0
ezért a fordító pontosan ugyanazt a kódot fogja látni, mert a preprocesszor már elvégzi a behelyettesítést.
Ha const int-ként lenne megadva, akkor meg a fordító végezné el a behelyettesítést, szintén ugyanazt a kódot generálva belőle.
Amúgy a mainből nem kell returnolni, default 0-val tér vissza.
A NULL C++-ban szintén #define NULL 0, tehát ha 0-t írsz, ugyanazt kapod. A 0 egy int típusú literál, ami különleges, mert konvertálódik tetszőleges pointer típusra (más int literálokra ez nem igaz).
Az új szabvány (C++11) bevezette a nullptr konstanst, ami ugyanaz, mint a 0, csak nem int, hanem pointer. Tehát van ez a két függvényed:
void f(int);
void f(void*);
f(0); //intest hívja meg
f(NULL); //szintén az intest hívja meg
f(nullptr); //void*-ost hívja meg
De nem működik a nullptr.
delete itsAge;
itsAge = nullptr; //nem jó.
A legújabb mingw használom.
És nem megy.
Segítség.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!