[SOLVED] Zerowanie zmiennych statycznych struktury
Ostatnio zmodyfikowano 2014-11-14 18:00
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: struct struktura { static size_t licznik; };
size_t funkcjaWKtorejChemyZliczac() { struktura strukturyKtoreCosZliczaja[ 4 ]; return strukturyKtoreCosZliczaja[ 0 ].licznik; }
size_t funkcja() { 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 struct struktura { static size_t licznik; };
size_t funkcjaWKtorejChemyZliczac() { struktura strukturyKtoreCosZliczaja[ 4 ]; return strukturyKtoreCosZliczaja[ 0 ].licznik; }
size_t funkcja() { struktura().licznik = 0; return funkcjaWKtorejChemyZliczac(); }
int main() { for( size_t i = 0; i < 10; i++ ) std::cout << funkcjaWKtorejChemyZliczac(); }
Ale nie trybi. Pomoże ktoś? :) |
|
Tomek_z_W11 |
» 2014-11-14 17:26:08 size_t funkcjaWKtorejChemyZliczac() { struktura strukturyKtoreCosZliczaja[ 4 ]; 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. size_t funkcja() { struktura().licznik = 0; 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. |
|
stryku Temat założony przez niniejszego użytkownika |
» 2014-11-14 18:00:32 |
|
« 1 » |