Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By
Safari Books Online 2.6
2.6 Object Declarations

int*&* pr = p;
should be
int*& pr = p;

Anonymous 
Printed Page 196
Top of page; "wrapper w" should be "wrapper<> w"

Anonymous 
Printed Page 257
forward Iterator implemention in erase

Suppose multiple iterator variables point to the node after the one being deleted. The the prev_ pointers become invalid pointers once the delete happens: nothing goes through the iterators fixing them. Thus they are invalidated. But sequence containers should only invalidate iterators pointing to the node being deleted and no others.

This mixes with the definition of iterator on page 264.

More normal would be to point back to the slist itself and to traverse to find the "prev" needed. more expensive the further down the list it goes but such leads to the correct set sof invalidated iterators.

Anonymous 
Printed Page 257
forward Iterator implemention in erase

I previously described how deleting Node N of a node based container is not supposed to invalidate the iterators pointing to node N+1 but that the slist example does. But I said "sequence container" where I should have said "node-based container". Sorry.

Anonymous 
Printed Page 264
Iterator definition

The slist::link_type* prev_ pointer usage can invalidate one or more iterators when erase deletes the node pointer to. Sequence containers are not supposed to invalidate any iterators referring the item following the erased one.

Anonymous