Rozdz. 1 lekcja 9 - Prosze o pomoc w zadaniu
Ostatnio zmodyfikowano 2019-10-03 14:38
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' ); |
|
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
|
|
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. |
|
Kajus_Ceplus |
» 2019-10-03 14:38:13 Dziękuję za odpowiedź :) |
|
1 2 « 3 » |