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

question-closed Deklarowanie elementu kilkukrotnie

VPS Starter Arubacloud
0 głosów
188 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 (194,920 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 (194,920 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 (194,920 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 (194,920 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ź 199 wizyt
pytanie zadane 16 stycznia 2023 w C i C++ przez polandonion Mądrala (6,970 p.)
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 13 kwietnia 2022 w C i C++ przez Szanti 2.0 Nowicjusz (150 p.)
0 głosów
1 odpowiedź 287 wizyt
pytanie zadane 25 stycznia 2021 w C i C++ przez KonradKalbarczyk Nowicjusz (240 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...