This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: bounds checking in bitset.
- From: Paolo Carlini <pcarlini at suse dot de>
- To: BHARAT JOSHI <bharatj at students dot iiit dot net>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Fri, 03 Feb 2006 23:41:11 +0100
- Subject: Re: bounds checking in bitset.
- References: <Pine.LNX.4.61.0602040335530.11251@students.iiit.net>
BHARAT JOSHI wrote:
> The bounds checking/exceptions in bitset does not seem to work. I used
> gcc 3.4.2 on a FC3 system and also gcc 4.0.0 on a FC4.
> this snippet compiles (and runs) with no warnings with -W and -Wall
> options enabled.
>
> bitset<9> n;
> n[15]=1; //works
> for (i=0 to 20) printf ("%d\n", int(n[i])); //all 0's excepet in 15th
> postition
Maybe your doubt stems from expections pre-DR 11. In the current
standard, C++03, operator[] does *not* throw and requires a valid
position (user responsability). See 23.3.5.2/46-47, 49-50.
Paolo.