Mi az a strinstream? Mert nem sikerült megértenem a működését.
Itt próbálkoztam:
std névtér része és a stringstream pedig egy típus.
A vele készített objektum például:
int t = 448811;
stringstream s ;
s << t ; //Itt mi történik?
Ki írattam az s a cout al és kidobot egy memóriacímet ami nem mutatott egyezést a t változó memóriacímével.
dereferáltam is ki íratásnál az s de úgy nem fordult le.
Fogalmam sincs hogy miféle objektum az s.
Magyarázzátok el pls.
s.str() nem próbáltad?
Lehet kiolvasni és beleírni különböző értékeket. Beleírni mint a cout-ba (csak a cout mellékhatása hogy megjelenik általában a képernyőn.) Kiolvasni mint a cin, csak ez nem billetyűzetről olvas, hanem egyszerűen csak megtörténik.
Ennyi. Részletek azon a linken amit linkeltél.
s.str() //Itt az str függvény mire van?Tudom vissza ad egy stringet.
De minek ha s >> alkalmazva is tökéletesen működik.
string h ;
int g = 8888 ;
stringstring s ;
s << g ;
s >> h ;
--------
s << g ;
h = s.str() ;
Ugyanaz de miért van ugyanabból kettő?
Ugye ehhez nem ártana tudni, mi az az iostream. A stringstream egyben egy iostream is (abból származik), tehát mindent, amit egy iostreammel meg lehet csinálni, a stringstreammel is meglehet. És mivel az iostream egy istream és egy ostream törvénytelen gyereke, minden amire egy ostream vagy egy istream képes, az iostream is képes lesz.
A streamek annyit csinálnak, hogy lehet beléjük írni, vagy olvasni belőlük. A >> operátor túl van terhelve stringre is, ami alapesetben annyit csinál, hogy kiolvas egy szót az istream-ből. Egy szó annyit jelent, hogy whitespaceig olvassa a karaktereket.
A stringstream annyiban specializálja az iostreamet, hogy megmondja, egy belső string bufferbe ír és onnan olvas, tehát nem konzolt vagy fájlt használ forrásként és célként.
A fenti leírással és ezzel a kis idézettel már meg tudod mondani, mi a különbség a >> string és a .str között?
"The first version returns a copy of the string object currently associated with the string stream buffer."
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!