Kezdőoldal » Számítástechnika » Programozás » Melyik fut le gyorsabban?

Melyik fut le gyorsabban?

Figyelt kérdés

return EXIT_SUCCESS;

return 0;

.........

Ezen kívül a NULL helyett van valami constptr vagy mi az mi csoda?


2012. ápr. 21. 03:57
 1/8 iostream ***** válasza:

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

2012. ápr. 21. 09:19
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

De nem működik a nullptr.

delete itsAge;

itsAge = nullptr; //nem jó.

2012. ápr. 21. 17:03
 3/8 A kérdező kommentje:
utánanéztem a neten de a nullptr nekem sehogy sem akar jó lenni.
2012. ápr. 21. 17:31
 4/8 iostream ***** válasza:
Mint fentebb írtam: ez egy C++11 feature. Gondolom régebbi a fordítód, nem tudja még.
2012. ápr. 21. 18:11
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

A legújabb mingw használom.

És nem megy.

Segítség.

2012. ápr. 21. 23:53
 6/8 iostream ***** válasza:
-std=c++0x kapcsolóval próbáld.
2012. ápr. 22. 12:07
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Ezt meg hová írjam?
2012. ápr. 22. 22:34
 8/8 iostream ***** válasza:
A fordítási kapcsolók közé. Mivel fogalmam sincs, hogy fordítasz, ezért nem tudok segíteni, de azért tipp: ha parancssorból fordítasz, akkor közvetlenül a g++ után, ha IDE-ből akkor keress valami projektbeállítást vagy valamit ahol meg lehet adni fordítási kapcsolókat (compile options vagy ilyesmi).
2012. ápr. 23. 09:41
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!