Професионална програма
Loading...
+ Нов въпрос
DimovIvan avatar DimovIvan 11 Точки

Кога и къде се използва функцията cin.ignore() в с++

Когато четем данни първо с cin, a след това с getline() знам, че между тях се постава  cin.ignore(), но не ми е ясно къде точно. Дали е веднага след cin >> или точно преди getline()? Ако има цикъл между тях къде се поставя? Изобщо, ако има строги правила за това къде се пише cin.ignore() в различните случаи, ще ми е много полезно някой да ми ги обясни. Благодаря предварително!

Тагове:
0
Programming Basics
RaUndreundre avatar RaUndreundre 52 Точки

Препоръката на лектора ни бе, ако трябва да ползваме getline(), то навсякъде да ползваме getline() и където трябва да превръщаме стринга в int или double с stoi() или съответно с stod(). Това работи безотказно, но иска малко повече писане.
Когато ме мързи, ползвам cin>>... , cin.ignore(), getline()  - тогава позицията на cin.ignore() я съобразавам с логиката на решението - в 95% от случаите веднага след cin>>...
Но ми се е случвало един път и да не сработи тази комбинация, затова най-разумно е да се придържаме към казаното от лектора.

0
10/03/2021 14:57:09