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

[SOLVED] Zerowanie zmiennych statycznych struktury

Ostatnio zmodyfikowano 2014-11-14 18:00
Autor Wiadomość
stryku
Temat założony przez niniejszego użytkownika
[SOLVED] Zerowanie zmiennych statycznych struktury
» 2014-11-14 17:10:01
EDIT
Ok, nieważne.
Tak wgl da się usuwać tematy/posty?

-----------------------------------------------
PRZED EDITEM

Witam. Mam mniej więcej coś takiego:

C/C++
struct struktura
{
    static size_t licznik;
};

size_t funkcjaWKtorejChemyZliczac()
{
    struktura strukturyKtoreCosZliczaja[ 4 ];
   
    /* operacje na strukturach */
   
    return strukturyKtoreCosZliczaja[ 0 ].licznik;
}

size_t funkcja()
{
    //tu chciałbym wyzerowac licznik
   
    return funkcjaWKtorejChemyZliczac();
}

int main()
{
    for( size_t i = 0; i < 10; i++ )
         std::cout << funkcja();
   
}

Tylko nie za bardzo wiem jak wyzerować ten licznik

próbowałem


C/C++
struct struktura
{
    static size_t licznik;
};

size_t funkcjaWKtorejChemyZliczac()
{
    struktura strukturyKtoreCosZliczaja[ 4 ];
   
    /* operacje na strukturach */
   
    return strukturyKtoreCosZliczaja[ 0 ].licznik;
}

size_t funkcja()
{
    struktura().licznik = 0;
    //tu chciałbym wyzerowac licznik
   
    return funkcjaWKtorejChemyZliczac();
}

int main()
{
    for( size_t i = 0; i < 10; i++ )
         std::cout << funkcjaWKtorejChemyZliczac();
   
}

Ale nie trybi.

Pomoże ktoś? :)

P-120587
Tomek_z_W11
» 2014-11-14 17:26:08
C/C++
size_t funkcjaWKtorejChemyZliczac()
{
    struktura strukturyKtoreCosZliczaja[ 4 ];
   
    /* operacje na strukturach */
   
    return strukturyKtoreCosZliczaja[ 0 ].licznik;
}

W tej funkcji tworzysz tablice struktur. W momencie wyjścia z funkcji ta tablica znika, więc zwracasz coś co zniknie po tym jak to zwrócisz.

C/C++
size_t funkcja()
{
    struktura().licznik = 0;
    //tu chciałbym wyzerowac licznik
   
    return funkcjaWKtorejChemyZliczac();
}

Co do tego fragmentu, to struktura jest jakby szablonem, żeby wyzerować licznik musisz mieć stworzony obiekt tego szablonu, na przykład w mainie. jak pod licznik tego obiektu przypiszesz 0, to wyzerujesz tylko ten konkretny licznik tego konkretnego obiektu.

Pzdr.
P-120593
stryku
Temat założony przez niniejszego użytkownika
» 2014-11-14 18:00:32
Dla przyszłych pokoleń odpowiem.

To trochę tak nie działa
http://4programmers.net/C​/Static
P-120596
« 1 »
  Strona 1 z 1