[PATCH] Fix PR libstdc++/19510: Uninitialized variable in some iterators
Nathan Myers
ncm-nospam@cantrip.org
Sat Jan 22 06:28:00 GMT 2005
On Sat, Jan 22, 2005 at 07:16:28AM +0100, Gabriel Dos Reis wrote:
>
> From the perspective that iterators are "generalizations" of pointers,
> there is a missing value, the analogous of null pointer and its
> ability to serve as "sentinal" or special (not singular) value.
> If T is a pointer type, then T() is a null pointer and it can be used
> as a special value. That guarantee is missing for general iterators.
> I hope Sylvain would step in and explain the various occasions where
> that irregularity gets into the way.
As I recall, the notion of a null iterator was deliberately omitted
as tending to make both implementations and user code more complicated,
with no overarching benefit. Manifestly, we get along fine without.
However, I do seem to recall also that when the STL was proffered,
T() notation didn't work as it does now when T was a pointer.
Nathan Myers
ncm@cantrip.org
More information about the Libstdc++
mailing list