나는 C++ 컴파일러가 제한을 두지 않는 다른 대답을 읽었습니다. maximum size of std::vector. 하나의 목적으로 벡터를 사용하려고하는데 10^19 개의 항목이 필요합니다.stl "벡터 <T> 너무 깁니다"
typedef struct{
unsigned long price, weight;
}product;
//inside main
unsigned long long n = 930033404565174954;
vector<product> psorted(n);
마지막 문장에서 프로그램이 중단됩니다. 내가 대신 메시지 n
다음 또한 프로그램 중단과 초기화의 resize(n)
을 시도하는 경우 :
vector<T> too long
std::length_error at memory location
을 내가 벡터에서 퍼팅 후 가격을 accourding 데이터를 정렬해야합니다. 나는 어떻게해야합니까?
C++에서 typedef struct를 사용하는 이유는 무엇입니까? 아마도 누군가가 할 수있는 많은 것을 배우고 있습니까? :-) –
930033404565174954는 10^9보다 훨씬 큽니다. –
'sizeof (std :: vector :: size_type)'을 확인하십시오. 그것은 당신에게 최대 크기를 알려줍니다. –