C++ - zmienne globalne definiowane w funkcji

C++ - zmienne globalne definiowane w funkcji
OG
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:16
0

Witam,

Jestem początkujący w C++ , mam więc teoretyczne pytanie:

-czy istnieje możliwość zdefiniowania zmiennej globalnej wewnątrz funkcji?
(np przy pomocy jakiegoś parametru "global" lub w jakikolwiek sposób)

(naprawdę bardzo długo szukałem w google bez rezultatu)

Bumcykowy
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 8 lat
0

Nie można. A do czego miała by ci służyć taka zmienna?

edytowany 1x, ostatnio: Bumcykowy
lukasz1235
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad 8 lat
  • Postów:1105
0

Może chodzi ci o zmienną statyczną?

ZJ
  • Rejestracja:około 14 lat
  • Ostatnio:około 12 lat
0

Patrząc z innej perspektywy to zmienne globalne można podzielić na 4 grupy pod względem możliwości ich użycia. Najmniejszy zakres mają zmienne poprzedzone słowem static zadeklarowane w środku funkcji. Ich wartość nie zmienia się między wywołaniami, ale możesz się do nich odwołać tylko z tych funkcji.

Następnie są zmienne static zadeklarowane w jednej jednostce kompilacji (zwykle 1 plik C++) poza funkcjami. Mogą się do niej odwoływać wszystkie funkcje z danej jednostki.

Można także zadeklarować zmienną static w klasie, wtedy dostęp jest zdeterminowany tak, jak inne właściwości klasy, tzn. private, protected i public.

Na koniec są właściwe zmienne globalne, można się do nich odwołać w każdym miejscu programu, w C nawet program się skompiluje, jak nie będzie miał dodanego nagłówka z deklaracją takiej zmiennej i nawet jakimś cudem będzie działał, jeżeli ta zmienna jest typu int (nie polecam używania tego). Deklaruje się je poza funkcjami, najczęściej w pliku nagłówkowym, dodając przedrostek extern. Zmienna taka musi być zdefiniowana w jednej i tylko jednej jednostce kompilacji.

OG
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:16
0

Dziękuję bardzo za szybkie i konkretne odpowiedzi! :)
W pewnej funckji na podstawie wydobytych danych definiuję wektor którego początkowa wartość równa się
ilości wersów wczytanych z tego pliku ale dane w wektorze będą nadawane w innej funkcji.

Dzięki wam wiem że nie ma sensu dalej tracić czasu na szukanie definiowania zmiennych globalnych w
funkcji a trzeba zakombinować z kodem :)
Jeszcze raz dzięki :)

RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
0

Masz pola klas, argumenty funkcji, skorzystaj z nich.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.