Hello all,
I'm working with versions 4.1.2 and 4.1.0 of the STDCXX on HP-UX 11i
with aCC 3.63, and I've noticed that when a std::vector is constructed
with a size parameter, it's actually allocated as that size + 32
additional elements. For example:
#include <iostream>
#include <vector>
int main() {
std::vector<long> testvec1(4);
std::cout << "Capacity: " << testvec1.capacity() << std::endl;
std::cout << "Size: " << testvec1.size() << std::endl;
return 0;
}
When run will output:
[EMAIL PROTECTED] 15d]$ ./stdvectest
Capacity: 36
Size: 4
The HP-UX Standard Library will allocate 32 element sizes to a vector
declared with a size less than 32, but will allocate as expected beyond
that. STDCXX, however, seems like it will always add 32 to the size.
I'm curious if there is an explanation for this - is it perhaps some
quirk of memory allocation or template instantiation on HP-UX? Any
insight would be appreciated!
Thanks,
-Patrick Happel