Keresés

Keresendő kifejezés:

Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

C++ hol a hiba feladat?

31
Az mellekelt feladatrol lenne szo, illetve hogy az "extern" elotag mit is jelent. Valaszokat koszonom!
Jelenleg 1 felhasználó nézi ezt a kérdést.
c++
0
Felsőoktatás / Informatika

Válaszok

1
A C++ nyelv tárolási osztályai - auto, register, static, extern – meghatározzák a változók élettartamát és láthatóságát. Ha nem adunk meg tárolási osztályt, így a C++ nyelv alapértelmezése érvényesül. E szerint minden függvényeken kívül definiált változó extern (globális), míg a függvényeken belül megadott változók auto (lokális) tárolási osztállyal rendelkezik. Az extern változók a program indításakor jönnek létre, és a program végéig léteznek, és eközben bárhonnan elérhetők. Ezzel szemben az auto változók csak a definíciójukat tartalmazó függvénybe való belépéskor születnek meg, és függvényből való kilépéskor törlődnek. Elérhetőségük is függvényre korlátozódik.


Elvileg az b sorra mondanám a hibát, mert a globális változókat a program futtatásakor hozza létre a memóriában a program, hiszen az egyik programban int a másikban pedig double típusként van deklarálva az ugyanolyan nevű változó. A többinél maga a linker nem ad hibát, maximum fals eredményt ad a programod, mivel szerintem a változónak lefoglalt memóriacímen a két program által számított értékek egymást írják majd felül. Bár én annyira sose ástam bele magam a c++ nyelv legmélyebb bugyraiba, így én várnék valakit aki okosabb, mint én, és rábólint.
Módosítva: 1 hete
1