Overloading composite operators?

Discussion in 'C++' started by bq, Aug 12, 2004.

  1. bq

    bq Guest

    Hello,
    This post is really two questions.
    Question 1:
    What is the current status on a revision of ISO C++, specifically
    regarding plans for overloading composite operators? Some people in
    this group probably would know. By "overloading composite operators" I
    mean conversion of an expression like
    A = B * C;
    into a single function call (instead of three calls; one to "*",
    another to copy and another to "="). Here A, B and C are of a
    user-defined class type, say a type that represents matrices.

    Question 2:
    I've read quite a bit about using "lazy evaluation" to avoid
    unnecessary copying. Lazy evaluation seems fairly complex and runs
    into problems when an object appears more than once in an expression
    e.g. matrix multiplication of the form
    A = A * A;
    or
    A = B + C * A;
    The advantage of overlaoding the composites "= *", "= +", etc, is that
    the function that gets to do the work will have access to A, B and C,
    so it can detect any aliasing and then behave accordingly. I am new to
    C++ (only read Koenig & Moo, currently reading Josuttis' STL book), so
    I'd like to know what the experts think of this issue. Does
    overloading composite operators obviate the need for lazy evaluation?

    Thanks.
    bq
    bq, Aug 12, 2004
    #1
    1. Advertising

  2. bq

    Jack Klein Guest

    On 12 Aug 2004 15:09:37 -0700, (bq) wrote in
    comp.lang.c++:

    > Hello,
    > This post is really two questions.
    > Question 1:
    > What is the current status on a revision of ISO C++, specifically
    > regarding plans for overloading composite operators? Some people in
    > this group probably would know. By "overloading composite operators" I
    > mean conversion of an expression like
    > A = B * C;
    > into a single function call (instead of three calls; one to "*",
    > another to copy and another to "="). Here A, B and C are of a
    > user-defined class type, say a type that represents matrices.
    >
    > Question 2:
    > I've read quite a bit about using "lazy evaluation" to avoid
    > unnecessary copying. Lazy evaluation seems fairly complex and runs
    > into problems when an object appears more than once in an expression
    > e.g. matrix multiplication of the form
    > A = A * A;
    > or
    > A = B + C * A;
    > The advantage of overlaoding the composites "= *", "= +", etc, is that
    > the function that gets to do the work will have access to A, B and C,
    > so it can detect any aliasing and then behave accordingly. I am new to
    > C++ (only read Koenig & Moo, currently reading Josuttis' STL book), so
    > I'd like to know what the experts think of this issue. Does
    > overloading composite operators obviate the need for lazy evaluation?
    >
    > Thanks.
    > bq


    This group discusses the C++ language as it is. If you want to ask
    questions about, or make proposals for, new language features in
    future versions of the C++ standard, you need to post to the moderated
    newsgroup news:comp.std.c.

    --
    Jack Klein
    Home: http://JK-Technology.Com
    FAQs for
    comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
    comp.lang.c++ http://www.parashift.com/c -faq-lite/
    alt.comp.lang.learn.c-c++
    http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
    Jack Klein, Aug 13, 2004
    #2
    1. Advertising

  3. Jack Klein wrote:
    > [...]
    > This group discusses the C++ language as it is. If you want to ask
    > questions about, or make proposals for, new language features in
    > future versions of the C++ standard, you need to post to the moderated
    > newsgroup news:comp.std.c.


    Correction:

    news:comp.std.c++
    Victor Bazarov, Aug 13, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sleigh
    Replies:
    1
    Views:
    2,671
    sleigh
    Feb 12, 2004
  2. Ron Natalie
    Replies:
    0
    Views:
    390
    Ron Natalie
    Jul 9, 2003
  3. David Rasmussen

    Composite Assignment Operators for enums

    David Rasmussen, Feb 24, 2004, in forum: C++
    Replies:
    3
    Views:
    842
    Thomas Matthews
    Feb 24, 2004
  4. Chad
    Replies:
    0
    Views:
    209
  5. Mike

    Composite vs non composite Controls

    Mike, Mar 10, 2005, in forum: ASP .Net Web Controls
    Replies:
    4
    Views:
    249
    Sundararajan
    Mar 11, 2005
Loading...

Share This Page