INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Jobs from Indeed

operator overloading ->

operator overloading ->

(OP)
T& operator*(){return *ptr;}
T& operator->(){return ptr);

Why do we return in one case *ptr and in other case ptr whereas return in both cases is a reference.

RE: operator overloading ->

operator-> should specify T* as its return type, not T&.

RE: operator overloading ->

(OP)
Why?
I am having hard time to figure out when we need * or & in return type.

RE: operator overloading ->

Honestly, I don't know. That's just how it works. I took a quick look in the standard to see if I could find an explanation or specific mention, but none could be found.

For cases like these where there is a common usage, I would just use examples from reference material to identify the proper form.

RE: operator overloading ->

You return * when you need a pointer and & when you need a reference.  This only starts making sense when it appears on the left of an assignment.


 

RE: operator overloading ->

(OP)
Thank you!
Now I am reading C++ Primer book and it makes sense what you wrote.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close