CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 1 of 1
  1. #1
    Join Date
    May 2000
    Location
    KY, USA
    Posts
    18,652

    C++ Memory Management: What are the differences between constant objects?

    Q: What are the differences between constant objects?

    A: To make any object constant, one uses the keyword 'const'. However, depending on the actual place you insert this keyword, it can have different meanings for the associated object:


    • Reference to object -> Can change the referenced object

      Code:
      foo instance;
      foo& reference_to_instance = instance;
    • Reference to constant object -> Can not change the referenced object

      Code:
      foo instance;
      const foo& constant_reference_to_instance = instance;
    • Pointer to object -> Can change the adress it is pointing to as well as the object

      Code:
      foo instance;
      foo* pointer_to_instance = &instance;
    • Pointer to constant object -> Can change the adress it is pointing to but not the object

      Code:
      foo instance;
      const foo* pointer_to_constant_instance = &instance;
    • Constant pointer -> Can change the object but no the address it is pointing to

      Code:
      foo instance;
      foo* const constant_pointer_to_instance = &instance;
    • Constant pointer to constant object -> Can neither change the address nor the object

      Code:
      foo instance;
      const foo* const constant_pointer_to_constant_instance = &instance;



    Last edited by Andreas Masur; September 25th, 2005 at 11:30 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured