Kezdőoldal » Számítástechnika » Programozás » C++ nyelvben a legtöbb definíc...

C++ nyelvben a legtöbb definíció deklaráció is egyben? De mik a kivételek?

Figyelt kérdés

Esetleg osztályok statikus adattagjai kivétel?


#include <iostream>


class A {

public:

static int a;

};


//int A::a = 42;


int main() {

std::cout << A::a;

}



2020. dec. 5. 22:30
1 2
 1/12 A kérdező kommentje:
Definíció ha memóriaterület is foglalódik le, deklaráció ha csak jelezzük, hogy ilyen néven, ilyen típussal használunk egy változót ami máshol van definiálva. Utóbbira C++-ban az extern int a; egy példa.
2020. dec. 5. 22:31
 2/12 anonim ***** válasza:
Például egy függvény definíciója hiába van meg, ha nincsen deklarálva a függvény, akkor a linker nem találja meg. Ez egy elég súlyos kivétel szerintem.
2020. dec. 5. 22:47
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:
0%

"deklaráció ha csak jelezzük, hogy ilyen néven, ilyen típussal használunk egy változót ami máshol van definiálva. Utóbbira C++-ban az extern int a; egy példa."


Nem.

A deklaráció az, amikor egy változóhoz azonosítót és esetleg tipust is rendelünk. Memóriafoglalás ebben az esetben is történik.

Az amit írsz /extern int a;/, egy integer tipusú változó deklarációja 'a' azonosítóval, és az érvényességi körének kiterjesztése /globálissá/ ezt jelzi az -extern-.

2020. dec. 5. 23:50
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:

#3 Téves. A deklaráció csak jelzi a fordító számára a változó létezését, annak azonosítóját és típusát. A definíció az, amikor a változó számára memóriaterület is lefoglalásra kerül. C++ nyelven az int a; egy definíció, mivel ezen a ponton már memóriaterület kerül lefoglalásra számára.


Amit az extern-ről írtál, az igaz, csak nem teljes, az extern elsődleges feladata ugyanis jelezni, hogy az adott változó máshol kerül definiálásra, itt csak deklarálásra került. Ily módon ez ékes példája a deklarációnak definiálás nélkül.

2020. dec. 6. 00:15
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:

A deklaráció, hogy létrehozod. Az inicializáció, amikor értékét adsz.

A definíció meg a függvény törzsének megírása.

2020. dec. 6. 01:38
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:
Az inicializálás pontosabban a kezsőértékadás.
2020. dec. 6. 08:57
 7/12 A kérdező kommentje:

Ezt Horváth Gábor írta:

"Az int a; az definíció és deklaráció is egyben

Így technikailag ha valaki deklarációnak hívja az is korrekt de nem precíz

C++-ban majdnem minden definíció egyben deklaráció is

A statikus adattagoknál van talán az egyetlen kivétel"

[link]

[link]

2020. dec. 6. 09:00
 8/12 A kérdező kommentje:
#2: függvényeket nem akartam most idekeverni, csak a változókról kérdeztem, de egyébként nem kötelező deklarálni egy függvényt C++-ban, ha van definiálva.
2020. dec. 6. 09:02
 9/12 anonim ***** válasza:
#7 Ez így is van. Gábor elég nagy guru a C++ világában, szóval ha valakinek, neki elhiheted.
2020. dec. 6. 14:05
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:
Akinek ellehet hinni a szavát az a C++ készítője. A könyvét elővéve a megfelelő kifejezéseket megtalálhatod, hogy mi-mi. Más forrás, ami ennél hivatalosabb nincs.
2020. dec. 6. 17:58
Hasznos számodra ez a válasz?
1 2

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!