allocator::max_size implementation in der stl
-
ich schau mir in den letzten tagen intensiv die stl an, und hab mich heute mal dem allocator gewidmet.
da stieß ich glatt auf diese zeile:
size_type max_size() const{ return size_t(-1) / sizeof(value_type); }
wieso ist das der maximale wert? können maximal size_t(-1)(also 2^33-1) bits speicher allokiert werden?
-
size_t ist imho unsigned long und da mehr nicht adressierbar ist (gibt keinen größeren integralen Typ) wird das wohl der Maximalwert sein.
MfG SideWinder
-
size_t ist unsigned int aber sonst deckt sich das ja mit meiner these
-
Imho ist sizeof(int) == sizeof(long) == 4 beim MSVC und bei den meisten anderen Compilern auch
MfG SideWinder