C++-ban, ha deklarálok egy változót, de nem használom, akkor azt a fordító a fordításnál kiveszi a programból, vagy benne marad és foglalni fogja a helyet a memóriában?
Figyelt kérdés
2016. ápr. 30. 16:01
1/13 anonim válasza:
Nem is tudnád használni, mert nincs definiálva, tehát helyet sem tud foglalni. Egyébként ha optimalizáció be van kapcsolva kiveszi azt is ami definiálva van de nem használod.
2/13 anonim válasza:
Egy deklaràlt vàltozó nem létezik ezért nincs mit kiszedni. De ha definiált érdekel akkor a vàlasz nem.
3/13 anonim válasza:
Első tuti kiszedi mert ez eléggé hihetelen?
5/13 anonim válasza:
Sok mindent optimalizál a fordító. A következő kódra is 10 -et fog kiírni.
const int a = 10;
int* p = const_cast<int*>(&a);
*p = 0;
std::cout << a;
6/13 anonim válasza:
Az optimizer kiveszi, hacsak nem a volatile kulcsszóval lett deklarálva. Ha ki van kapcsolva az optimizer akkor foglalni fogja a helyet.
7/13 A kérdező kommentje:
És mi a különbség egy deklarált és egy definiált változó között? Gondolom az, hogy az utóbbinak adok kezdőértéket.
2016. ápr. 30. 16:48
8/13 anonim válasza:
A kezdőérték adás az inicializáció.
int a; //definicio
int b = 10; // definicio
extern int c; // deklaracio
Első kettő ha nincs kioptimalizálva foglal helyet, míg ami deklarálva van nem. Aki mást mond az el van tájolva.
9/13 A kérdező kommentje:
Köszi a válaszokat!
2016. ápr. 30. 17:00
10/13 anonim válasza:
#5: "Modifying a const object through a non-const access path (...) result in undefined behavior."
Szoval ennek semmi koze az optimalizalashoz, forditofuggo az eredmeny.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!