cin/cout as reference objects [Re: AIX I/O failures]
Gabriel Dos Reis
gdr@codesourcery.com
Thu Jan 25 22:53:00 GMT 2001
Mark Mitchell <mark@codesourcery.com> writes:
| >>>>> "Richard" == Richard Henderson <rth@redhat.com> writes:
|
| Richard> You should therefore be *extremely* cautious in exporting
| Richard> anything from a shared library that isn't a function or a
| Richard> built-in type such as a pointer.
|
| Thanks for the detailed analysis. That's very interesting.
|
| What you say, though, applies to the *original* approach as well, so
| we're no better off than we were then, if I understand correctly.
| (Because all I did was change the *type* of an aggregate, not its
| existence.)
|
| So, you're information argues in favor of Gaby's proposal -- the
| indirection protects you against changes in the sizes of the object,
| from the ABI point of view.
|
| But, that doesn't really do any good, because there are inline
| functions on ostreams anyhow, and because users can say `sizeof
| (cout)' in their programs, and if the library implementors change the
If they say sizeof(cout), they will get sizeof(ostream). Why is that
incorrect ?
-- Gaby
CodeSourcery, LLC http://www.codesourcery.com
More information about the Libstdc++
mailing list