[C++-sig] Re: Boost.Python << & >> bug
Niall Douglas
s_sourceforge at nedprod.com
Wed Aug 6 05:03:21 CEST 2003
On 4 Aug 2003 at 23:21, David Abrahams wrote:
> > Like it or not, most C++ programmers have never seen the spec and so
> > wouldn't understand what you've just said. My copy is an extremely
> > antiquated 1996 edition which doesn't have function try blocks etc.
> > and while I've read through it several times, I'm still unclear!
>
> Err, lvalue and rvalue are much older concepts than 1996. They come
> from 'C'.
I know - however the C++ spec defines 99% of the C spec too. What I
find interesting is that nowhere in my copy of the spec are lvalue or
rvalue defined. I had assumed lvalues are to the left of the equals
and rvalues are to the right such that lvalue=rvalue, but
(lvalue=rvalue) is a rvalue too.
I taught myself C++ from the terse online docs in MSVC4. Some feel
that it is terrible there are programmers like me practising out
there, but I would argue that I've never been able to afford anything
better and few university courses here teach C++.
> > If I /do/ read you right, wouldn't making self a lvalue preclude
> > auto- casting up to an inherited type?
>
> No, the opposite.
>
> > If so in my previous bug report, subclasses of FXId which use its
> > FXStream << & >> overloads when passed as-is would surely no longer
> > work?
>
> The opposite.
In which case it looks like my definitions of the two are inverted.
Hence, your proposal looks like a good idea.
I know I've probably sounded really ignorant in these past two emails
or so, but if you don't ask questions then you don't realise you're
wrong. My apologies if it's annoyed anyone.
Cheers,
Niall
More information about the Cplusplus-sig
mailing list