As the guy who wrote this, I can at least tell you what I had in mind.
In a good C ++ program of the kinds that I am familiar with, pointers are used to indicate objects, mainly so that they can be passed and used polymorphically. They are not used for passing by reference, because links are used for this. There is no pointer arithmetic. There are not many source pointers. Pointers are not usually used to create data structures, since most of the data structures you need are built into the standard library or, possibly, Boost.
In other words, modern C ++ usually uses pointers in the same way as Java, except that Java does not use this word because it has no concept of anything other than the primitive data type available except for the pointer (by at least not then the last time I used Java). The translation comes from something like Foo bar = new Foo(); (syntax is not guaranteed) to smart_ptr<Foo> bar = new Foo; and from bar.snarf() to bar->snarf() . At least to get started, the Java programmer does not need to pick up a concept like him or her if he or she moves to C.
David thornley
source share