Hej udvikleren.dk
Jeg har sidder i 2 dage og læst på flere eksempler i en C++ bog som jeg bruger til at lave min egen streambuffer med, men jeg har et eksempel jeg ikke forstår. Eksemplet findes her,
http://www.josuttis.com/libbook/io/inbuf1.hpp.htmlDet jeg ikke forstår er
// is read position before end of buffer?
if (gptr() < egptr()) {
return traits_type::to_int_type(*gptr());
}
Hvor kontrolleres der efter dette? Jeg troede at det blev overladt til sgetc!? Så hvorfor overhovedet tjekke efter dette når der allerede er blevet gjort en gang (se,
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/streambuf-source.html - kig efter implementeringen af sgetc())
Det jeg heller ikke lige er helt med på er den sidste return
return traits_type::to_int_type(*gptr());
og hvorfor den bliver lavet om til en int_type. Er det for at tjekke om den er EOF?
Håber nogen derude kan give mig et svar, så ville jeg blive glad.