• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Deklarowanie elementu kilkukrotnie

Cloud VPS
0 głosów
369 wizyt
pytanie zadane 23 maja 2020 w C i C++ przez Sevence Początkujący (280 p.)
zamknięte 23 maja 2020 przez Sevence
Cześć, rozpocząłem programowanie w c++ i mam pewne pytanie dotyczące deklaracji.

Wyczytałem, że można zadeklarować ten sam element kilkukrotnie i moje pytanie brzmi: w jakim celu?

Chciałbym poprosić o wytłumaczenie na jakimś przykładzie dla newbie, będę wdzięczny.
komentarz zamknięcia: otrzymałem odpowiedź
komentarz 23 maja 2020 przez j23 Mędrzec (195,240 p.)

Jaki element? Chodzi Ci o deklarację zmiennej z extern?

komentarz 23 maja 2020 przez Sevence Początkujący (280 p.)
Tak

1 odpowiedź

+1 głos
odpowiedź 23 maja 2020 przez j23 Mędrzec (195,240 p.)
wybrane 23 maja 2020 przez Sevence
 
Najlepsza

Deklaracje z extern stosujesz wszędzie tam, gdzie chcesz, by zmienna globalna zdefiniowana w innym pliku źródłowym była widoczna. Czyli jak w pliku A.cpp masz definicję:

int globalVariable;

to by była widoczna w pliku B.cpp, musisz dać jej deklarację:

extern int globalVariable;

Taką deklarację możesz stosować wielokrotnie w różnych plikach źródłowych.

komentarz 23 maja 2020 przez Sevence Początkujący (280 p.)
Dziękuję za wyjaśnienie, źle to zrozumiałem. Myślałem że można zrobić deklarację kilkukrotną w obrębie jednego pliku i tak się zastanawiałem po co? Jeśli chodzi o deklarację  tylko w różnych plikach to wszystko jasne.
komentarz 23 maja 2020 przez Sevence Początkujący (280 p.)
Nie chcę pisać kolejnego wątku, ale mam jeszcze jedno pytanie.

Wyczytałem też że definicja jest jednocześnie deklaracją. To oznacza że mogę napisać samą definicję i nie muszę pisać dodatkowo deklaracji?
1
komentarz 23 maja 2020 przez j23 Mędrzec (195,240 p.)
Tak. Definicja mówi kompilatorowi, żeby stworzył zmienną o danej nazwie i typie.  Deklaracja z kolei mówi, że gdzieś jest już zdefiniowana zmienna i że kod ma się do niej odwoływać. W obu przypadkach do przestrzeni nazw wprowadzana jest nowa nazwa (zmiennej), dlatego mówi się, że definicja jest także deklaracją.
komentarz 23 maja 2020 przez Sevence Początkujący (280 p.)

@j23, To w takim razię po co deklarować, skoro mogę zdefiniować i będzie jednocześnie zadeklarowana.

1
komentarz 23 maja 2020 przez j23 Mędrzec (195,240 p.)
Tak jak pisałem: oddzielną deklaracje stosujesz jedynie wtedy, gdy chcesz, by zmienna (globalna) była widoczna w innej jednostce kompilacji. I tyle.

Podobne pytania

0 głosów
1 odpowiedź 241 wizyt
pytanie zadane 16 stycznia 2023 w C i C++ przez polandonion Dyskutant (7,630 p.)
0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 13 kwietnia 2022 w C i C++ przez Szanti 2.0 Nowicjusz (150 p.)
0 głosów
1 odpowiedź 518 wizyt
pytanie zadane 25 stycznia 2021 w C i C++ przez KonradKalbarczyk Nowicjusz (240 p.)

93,454 zapytań

142,449 odpowiedzi

322,718 komentarzy

62,833 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...