#include "stdafx.h"
#include <iostream>
#include <vector>
#include "conio.h"
int main ()
{
typedef struct
{
int iArr[10];
}BIGSTRUCT;
BIGSTRUCT st;
std::vector<BIGSTRUCT> myvector;
int ii = sizeof(BIGSTRUCT);
std::cout << "max_size: " << (int) myvector.max_size() << '\n';
_getch();
return 0;
}
I am using following code to get maximum vector I can allocate; If the size of iArr is 1, then I am getting it 1,073,741,823; But if I increase the size to 10, it is 1,073,741,82;
http://stackoverflow.com/questions/4321040/c-vectors-of-objects-and-pointers?rq=1[
^]
http://stackoverflow.com/questions/3813124/c-vector-max-size[
^]
I have too many confusions here:
1) how this number is coming? Ho wit is calculated?
Now, if I am on a 32bit machine, with 2GB RAM, and if I have a vector of size say 170,000,000 members, what is the maximum size of each member do I have to have so I will not go out of memory?
Thanks