Chapter 18. Taking a Second Look at C++ Pointers

In This Chapter

  • Defining operations on a pointer

  • Comparing pointer addition with indexing an array

  • Extending arithmetic to different types of pointers

  • Sorting out constant pointers from pointers to constants

  • Reading the arguments to a program

Chapter 17 introduced the concept of a pointer variable as a variable designed to contain the address of another variable. I even went so far as to suggest a couple of uses for pointer variables. However, you've only begun to see the myriad ways that pointer variables can be used to do some pretty cool stuff and really confuse you at times as well.

This chapter examines carefully the relationship between pointers and arrays, a topic that I brushed over in the last chapter.

Pointers and Arrays

Some of the same operators applicable to integers are applicable to pointer types. This section examines the implications of this to both pointers and the array types studied so far.

Operations on pointers

Table 18-1 lists the three fundamental operations that are defined on pointers.

Table 18-1. Three Operations Defined on Pointer Type Variables

Operation

Result

Meaning

pointer + offset

pointer

Calculate the address of the object offset entries from the pointer

pointer++

pointer

Move the pointer over one entry

pointer2 - pointer1

offset

Calculate the number of entries between pointer2 and ponter1

Although not listed in Table 18-1, operations that are related to addition, such as pointer += offset, are also defined. Subtraction ...

Get Beginning Programming with C++ For Dummies® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.