이란 무엇입니까 capacity()
의 std::vector
기본 constructor에를 사용하여 생성되는가? 나는 그것이 size()
0 이라는 것을 압니다 . 기본 생성 벡터가 힙 메모리 할당을 호출하지 않는다고 말할 수 있습니까?
이런 식으로 .NET과 같은 단일 할당을 사용하여 임의 예약으로 배열을 만들 수 있습니다 std::vector<int> iv; iv.reserve(2345);
. 어떤 이유로 size()
2345 에서 시작하고 싶지 않다고 가정 해 봅시다 .
예 : Linux (g ++ 4.4.5, 커널 2.6.32 amd64)
#include <iostream>
#include <vector>
int main()
{
using namespace std;
cout << vector<int>().capacity() << "," << vector<int>(10).capacity() << endl;
return 0;
}
인쇄 0,10
. 규칙입니까, 아니면 STL 공급 업체에 따라 다릅니 까?