Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

1 zmienna do sterowania kilkoma czynnościami

Ostatnio zmodyfikowano 2012-08-08 19:55
Autor Wiadomość
Savail
Temat założony przez niniejszego użytkownika
1 zmienna do sterowania kilkoma czynnościami
» 2012-08-07 17:09:05
Hej,
Mam w swoim projekcie pętlę, która przechodzi przez obiekty klasy i wykonuje dla każdego z nich operacje dla aktualnej klatki animacji. Wewnątrz tej pętli możliwe są 3 akcje, które chciałbym aby wykonały się tylko raz podczas danej klatki animacji, na samym jej początku. Do tej pory dla każdej z tych akcji tworzyłem w klasie obiektu osobną zmienną typu bool którą ustawiałem na true gdy już w danej klatce animacji akcja została wykonana a resetowałem do false gdy pętla przechodzi do kolejnej klatki animacji. Problem polega na tym, że chciałbym usprawnić to trochę. Czy ma ktoś jakiś pomysł na to abym nie musiał dla każdej akcji tworzyć nowych zmiennych w klasie? Wolałbym używać jednej zmiennej typu bool do kontrolowania wszystkich 3 akcji ale ważną tylko dla aktualnego obiektu klasy. Próbowałem to zrobić tworząc tą zmienną typu bool jako static wewnątrz pętli i dla każdej akcji w osobnym zakresie ważności. To jednak nie wypaliło bo te same zmienne static były także używane na rzecz wszystkich obiektów klasy przez które pętla przechodziła.
Byłbym wdzięczny za sugestie i porady!
P-61919
DejaVu
» 2012-08-07 17:11:24
std::bitset
P-61920
Savail
Temat założony przez niniejszego użytkownika
» 2012-08-07 17:25:06
Tego typu akcji będzie coraz więcej w tej pętli a ten kontener bitset przeczytałem, że ma stały rozmiar. To mi trochę nie odpowiada, a jeśli chodzi o vector lub inne dynamiczne przydzielanie pamięci to też odpada bo i tak musiałbym przydzielać pamięć za każdym razem jak będę chciał stworzyć nową akcję tego typu. Wolałbym też nie odnosić się do tej zmiennej bool po przez tablicę. Bo musiałbym wtedy zawsze kontrolować indeks tej zmiennej a to w sumie nic nie udogadnia.
P-61922
DejaVu
» 2012-08-07 18:02:01
A co to za problem utworzyć bitseta o rozmiarze np. 256 bitów i potem zapalać kolejne bity wraz z nowymi funkcjonalnościami? Poza tym jeżeli robisz problem z faktu, że trzeba zwiększyć numerek oraz problem z dynamicznej alokacji pamięci to myślę, że sam nie masz do końca określonych wymagań wobec tego co chcesz osiągnąć.
P-61924
Savail
Temat założony przez niniejszego użytkownika
» 2012-08-07 18:15:29
To raczej ty nie zrozumiałeś o co mi chodzi. Jak coś takiego jest niemożliwe albo nie wiesz to po prostu powiedz a nie odrazu narzucasz komuś że sam nie wie czego chce...
Po prostu chciałem stworzyć coś jak statyczna zmienna lokalna. Taką zmienną tworzyłbym w osobnym zakresie ważności razem z daną akcją ale wtedy już definicja tej zmiennej w kolejnych przejściach pętli się nie odbywa. A zastanawiałem się czy możliwa jest definicja nowej zmiennej statycznej (chociaż nazwanej tak samo i w tym samym miejscu) ale w kolejnym przejściu pętli, zachowując i nie naruszając tych zmiennych statycznych które utworzyłem w poprzednich przejściach pętli.
P-61925
DejaVu
» 2012-08-07 19:00:50
C/C++
void funkcja()
{
    static std::vector < bool > vDane;
    vDane.push_back( true );
    printf( "%d\n", vDane.size() )
}
P-61926
Savail
Temat założony przez niniejszego użytkownika
» 2012-08-07 19:42:18
Wypróbowałem ale niestety nie działa. Widocznie to co chciałem zrobić to już zbyt wielkie przekombinowanie, nawet jak na c++ ;p. Mimo wszystko dzięki za odpowiedzi
P-61929
waxx
» 2012-08-07 20:27:47
bleh
myslalem troche o tym i doszedlem do wniosku ze najprosciej zrobic...trzy zmienne
serio masz z tym taki problem? :P

najladniej, najszybciej, najmilej i ogolnie najprzyjemniej... mysle ze nie ma sie doszukiwac w tym temacie czegos wiecej, serio :)
P-61941
« 1 » 2
  Strona 1 z 2 Następna strona