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

Zmienne automatycznie zmieniające wartość w zależności od innej zmiennej.

VPS Starter Arubacloud
0 głosów
810 wizyt
pytanie zadane 12 lipca 2016 w C i C++ przez Sinnley Stary wyjadacz (12,810 p.)
Witam, moje pytanie brzmi - czy w c++ są zmienne, których wartość jest w pewnym sensie automatyczna i zależy od innej zmiennej?

Przykładowo mamy zmienną a = 5 i b, która ma być o 1 mniejsza = 4

Po operacji a = a + 1 = 6,

  b = a - 1 = 5

Chcialbym jednak wykonywac tylko jedna operacje, a reszta potencjalnych zmiennych z automatyczna wartoscia zmienialaby sie sama.

Da się tak?

3 odpowiedzi

+1 głos
odpowiedź 12 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
Da się. Po prostu robisz statyczną zmienną w klasie i na końcu każdej metody/pętli dajesz nadpisanie tej zmiennej statycznej.
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
Mógłbyś rozwinąć nieco, jak by to miało wyglądać?
komentarz 12 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
No to tak: Zmienne statyczne, hmmm... Ciężko mi jest Ci to wytłumaczyć. Zmienne statyczne związane są z klasą a nie obiektem, czyli w każdym obiekcie zmienna ta ma taką samą wartość. Po prostu jesli masz pętlę, to na jej końcu dajesz klasa::zmiennastatyczna=a;
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)

Być może troche zle to wytłumaczyłem, spróbuję tak:

Załóżmy, że ten typ zmiennej nazywał by sie "autom" i przyjmowałby wartości całkowite jak int i byłby od inta zależny. Deklarujemy zmienne.

int a = 5;
autom b = (a-1);

Teraz zrobimy pętle. Jedyną zmienną, którą możemy modyfikować jest zmienna "a", ponieważ zmienna b jest zmienną jakby "warunkową" i jej wartość w pewnym sensie nie zależy od użytkownika, tylko od innej zmiennej, więc nie można jej przypisać wartości.

for(int i=0; i<10; i++){

a = a + 1;
// b = a - 1 - tej instrukcji mamy nie zapisywać, ma się wykonać automatycznie
// przy zmianie wartosci zmiennej a.

}

Ostatecznie pod koniec programu chciałbym mieć:

a=15

b=14

Mimo, że "ręcznie" modyfikowałem tylko zmienną "a"

komentarz 12 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
Bez tej instrukcji którą chcesz zapisywać nie da się, niestety
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
No to będę musiał napisać własną klasę autom ^^
komentarz 12 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
Widzisz, ciężkie jest życie rapera :/
0 głosów
odpowiedź 12 lipca 2016 przez niezalogowany
o ile dobrze zrozumiałem. Na if możesz to zrobić
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
Wiem, że można, ale jeśli takich zmiennych chciałbym mieć np. 30 to już jest problem.
komentarz 12 lipca 2016 przez niezalogowany
switch??
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
W jaki sposób chcesz to zrobić na switchach?
komentarz 12 lipca 2016 przez niezalogowany
switch(wartosc)
{
case 1:
wartosc=15;
break;
}
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
a ta 1 co oznacza?

od czego to ma być zależne? Bo przecież nie od wartości.

Switch wymaga konkretnej wartosci, a zamienna ma spory zakres. Trzeba to na ifach.
0 głosów
odpowiedź 12 lipca 2016 przez QizmoPL Stary wyjadacz (11,440 p.)
komentarz 12 lipca 2016 przez Sinnley Stary wyjadacz (12,810 p.)
Nie o to mi chodzi.

To służy do automatycznego typu zmiennej, a mi zależy na wartości.

Podobne pytania

0 głosów
1 odpowiedź 382 wizyt
0 głosów
2 odpowiedzi 1,325 wizyt
pytanie zadane 22 sierpnia 2020 w Java przez Bakkit Dyskutant (7,600 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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!

...