Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Nadawanie wartości zmiennej tylko raz.


Rekomendowane odpowiedzi

Opublikowano

Witam, czy jest możliwość zrobienia czegoś, aby wartość zmiennej, była jej nadawana tylko raz (na caly program)?

 

Moze lepiej podam konkretny przyklad, bo to w/w go nie opisuje:

int zmienna

void xyz()
{ zmienna = 1; [...] }

int main()
{ xyz(); zmienna = 2; xyz(); //chodzi mi o to, aby w drugim wywolwyaniu funkcji, nie nadawalo juz wartosci zmiennej.
Opublikowano

Z tego co ja rozumiem to najprostszym sposobem byłoby sobie zrobić ifa, który sprawdziłby czy już zmieniono za pośrednictwem pewnej funkcji wartość zmiennej.

TuByłaSygnatura.png

Opublikowano

Z tego co ja rozumiem to najprostszym sposobem byłoby sobie zrobić ifa, który sprawdziłby czy już zmieniono za pośrednictwem pewnej funkcji wartość zmiennej.

Tak, ale to sie wiąże w moi przpadku z duza iloscia zmiennych. Jakies inne pomysly?

Opublikowano

Tak, ale to sie wiąże w moi przpadku z duza iloscia zmiennych. Jakies inne pomysly?

No nie przesadzaj, bool nie zajmuje dużo, a dzisiejsze komputery mają sporo pamięci.

Nie zapisuj wszystkich zmiennych globalnie, tylko te, które tego wymagają.

 

A jeśli chodzi o to, że dużo zmiennych ci się zmienia w tym programie, to może czas przemyśleć przebudowę programu?

Albo zrobić ifa, który odpalał by 1 z 2 funkcji, 1 z podmienianiem wartości zmiennych, 2 bez podmieniania.

 

Trudno mi ci poradzić nie widząc dokładnie kodu.

TuByłaSygnatura.png

Opublikowano

To wez w meinie nadawaj jej wartość a w funkcji już przy pierwszym wywołaniu nie będziesz musiał.

Problem w tym, że tej zmiennej musi być nadawana wartość kilka razy, ale za każdym razem w innej funkcji.

Opublikowano

Innej opcji jak ify nie ma. Jak masz dużo zmiennych to możesz próbować zrobić z nich tablicę, ale to prawdopodobnie spowoduje że kod będzie nieczytelny.

Inicjalizuj jako null i sprawdzaj potem czy są nullami.

Pisałem ten post z myślą, że moze c++/c oferuje jakąś funkcję, która właśnie robi to co chce osiągnąć. Jednak jeżeli takowej nie ma, to zostają mi ify.

Opublikowano

Przepraszam za mój post ale nie rozumiem poco ktoś miał by pisać coś takiego, zamiast robić te ify pomyśl czy w ogóle musisz dodawać te zmienna=1 na początku i czy musi być ona globalna, chyba jak byś się stosował do standardów języka to by nie było takiego programu.

Linux pozwoli wycisnąć ostatnią łzę z twojego procesora.

Opublikowano

Przepraszam za mój post ale nie rozumiem poco ktoś miał by pisać coś takiego, zamiast robić te ify pomyśl czy w ogóle musisz dodawać te zmienna=1 na początku i czy musi być ona globalna, chyba jak byś się stosował do standardów języka to by nie było takiego programu.

 

Nie pisałbym tu tematu, gdyby to było mi niepotrzebne xp

A zmienna musi być globalna, bo korzystają z niej 2 funkcje.

Opublikowano

­@szymo02 a propo korzystania z wielu funkcji, nie możesz przekazywać tej zmiennej jako argument/referencję?

 

Dużo wygodniejsze jest dla mnie używanie zmiennych globalnych, bo w wielu przypadkach, jednak zmienna, jest używana w kilku(nastu) funkcjach. Bawienie się teraz w przekazywanie ich w postaci argumentów, byłoby co najmniej męczące. 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...