Masaharu Goto <MXJ02154@nifty.ne.jp> writes:
> Hello Jiri,
>
> >root [0] ostrstream buf; buf << 1 << ends;
> >root [1] buf.str()
> >(const basic_ostringstream<char,char_traits<char>,allocator<char>
> >>::__string_type)275332816
> >
> >The return type of ostrstream.str() is different from how it works on
> >root compiled with gcc-2.95. It used to return char* which is
> >consistent with the docs at
> >http://darbujan.fzu.cz/cgi-bin/info2www?(iostream-295)Strings
> >Returning this type is what ostringstream should do I believe.
^^^^^^^^^^^^^
>
> As I look into ANSI/ISO C++ standard, it says
>
> basic_string<charT,traits,Allocator> str() const;
> void str(const basic_string<charT,traits,Allocator>& s);
>
> And basic_ostringstream<char,char_traits<char>,allocator<char>::__string_type
> is defined as basic_string<char,char_traits<char>,allocator<char> > which
> is typedefed as string. So, Cint with gcc3 behaves as it supposed to be.
> In fact, I simply mirror what is defined in the standard header file and
> I can not do much in this regard.
>
Hello Masaharu,
I'm sorry for the typo it should read ostrstream. I agree with your
description of ostringstream behaviour. However I was pointing at the
change which happened with ostrstream. Or does the standard mention
its definition as well? I know it is a deprecated feature now and I will
not use it but it was the only option for people with earlier versions
of gcc as gcc-3 is the first one which implements ostringstream.
Jiri
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:39 MET