C++ - zmienne globalne definiowane w funkcji

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)

0

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

0

Może chodzi ci o zmienną statyczną?

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.

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 :)

0

Masz pola klas, argumenty funkcji, skorzystaj z nich.

1 użytkowników online, w tym zalogowanych: 0, gości: 1