Ilyenkor mi történik? C++
stringstream s; //ez mi?
string a;
int b;
s << b; // és itt?
s >> a; // és itt?
Ezeket nem értem még nem találkoztam ilyennel c++ ban.
Mi ez mi történik ilyenkor és mire jó?
A stringstream hasznos dolog, kb "szövegfolyam"-nak fordítható, bár erre gondolom magad is rájöttél, ugyanúgy működik, mint a cin és a cout (standard input és output).
A << és >> művelet a C-ben eredetileg a bitshiftet jelentette, ami itt nem is lényeges, a C++ban így lehet kivenni és betenni adatot a különféle stream-ekbe.
A stringstream (és mindenféle stream) egy olyan sorozat, aminek csak a végére lehet beszúrni és csak az elejéről lehet kivenni.
A példádban az egyik legáltalánosabb használata van a stringstreamnek, konvertálás olyan adattípusok között, amibe alapból nem lehet. Itt a b integert beleteszed az s streambe (ezt mutatja a << iránya is), aztán pedig egyszerűen kiveszed (ez pedig >>, mivel az s-ből kikerül).
Megjegyzés: Stringnél használható még az str() metódus is, azaz s >> a helyett lehetne a = s.str(); is, ebben az esetben ugyanazt eredményezi
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!