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

Rozdz. 1 lekcja 9 - Prosze o pomoc w zadaniu

Ostatnio zmodyfikowano 2019-10-03 14:38
Autor Wiadomość
Kajus_Ceplus
Lekcja 9 (poziom 1)
» 2019-10-02 14:06:10
Proszę o wytłumaczenie co oznacza zapis pierwszego argumentu:

std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
P-175271
nanoant20
» 2019-10-02 15:08:46
numeric_limits<streamsize>::max() - ustawia maksymalną liczbę znaków do zignorowania.
Ponieważ jest to górny limit wielkości strumienia, to cin poinformowane jest,
że nie ma ograniczenia liczby znaków do zignorowania.

'\n' - występuje tutaj jako flaga (ogranicznik, znak), po którym cin przestaje ignorować

podsumowując
std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
jest to linia która ignoruje resztę bieżącej linii, aż do napotkania '\n' lub EOF
P-175272
pekfos
» 2019-10-02 18:04:31
To nie odpowiada, co znaczy std::numeric_limits<std::streamsize>::max(). std::numeric_limits<> służy do pobierania charakterystycznych stałych dla danego typu liczbowego. W tym wypadku największej możliwej wartości typu std::streamsize, który jest aliasem na jakiś typ całkowitoliczbowy ze znakiem. To jest typ pierwszego argumentu ignore(). Jak podasz 1000, zostanie zignorowane nie więcej niż 1000 znaków, a jak podasz dokładnie największą możliwą wartość, jaką da się tu przekazać, to nie ma limitu na ilość znaków.
P-175274
Kajus_Ceplus
» 2019-10-03 14:38:13
Dziękuję za odpowiedź :)
P-175276
1 2 « 3 »
Poprzednia strona Strona 3 z 3