Mylę się z size_tC. Wiem, że sizeofoperator zwraca go . Ale co to właściwie jest? Czy to typ danych? Powiedzmy, że mam forpętlę: for(i = 0; i < some_size; i++) Czy powinienem użyć int i;lub size_t
Mylę się z size_tC. Wiem, że sizeofoperator zwraca go . Ale co to właściwie jest? Czy to typ danych? Powiedzmy, że mam forpętlę: for(i = 0; i < some_size; i++) Czy powinienem użyć int i;lub size_t
Zauważam, że współczesny kod C i C ++ wydaje się używać size_tzamiast int/ unsigned intprawie wszędzie - od parametrów funkcji łańcucha C po STL. Jestem ciekawy przyczyny tego i korzyści, jakie
Standard C gwarantuje, że size_tjest to typ, który może przechowywać dowolny indeks tablicy. Oznacza to, że logicznie size_tpowinno być w stanie pomieścić dowolny typ wskaźnika. Czytałem na niektórych stronach, które znalazłem w Googles, że jest to legalne i / lub powinno zawsze działać: void *v =...
Zastanawiam się, czy powinienem używać std::size_tpętli i innych rzeczy zamiast int? Na przykład: #include <cstdint> int main() { for (std::size_t i = 0; i < 10; ++i) { // std::size_t OK here? Or should I use, say, unsigned int instead? } } Ogólnie, jaka jest najlepsza praktyka...
Jakie są różnice między size_ti std::size_tpod względem tego, gdzie są deklarowane, kiedy należy ich używać i jakie są inne cechy
Mam kod w C ++, który wyświetla size_t: size_t a; printf("%lu", a); Chciałbym, aby kompilacja przebiegła bez ostrzeżeń na architekturach 32- i 64-bitowych. Gdyby to był C99, mógłbym użyć printf("%z", a);. Ale AFAICT %znie istnieje w żadnym standardowym dialekcie C ++. Więc zamiast tego muszę...
Chcę wydrukować zmienną typu size_tw C, ale wygląda na to, że size_tjest aliasowana do różnych typów zmiennych na różnych architekturach. Na przykład na jednym komputerze (64-bitowym) poniższy kod nie generuje żadnych ostrzeżeń: size_t size = 1; printf("the size is %ld", size); ale na moim...