• 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.

Object Storage Arubacloud
0 głosów
851 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ź 401 wizyt
0 głosów
2 odpowiedzi 1,372 wizyt
pytanie zadane 22 sierpnia 2020 w Java przez Bakkit Dyskutant (7,600 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,963 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...