I have a static const variable of a std::vector as such:
std::vector<std::pair<GUID, std::array<double, 13>>>
I've also tried(vectors in theory take less memory):
std::unordered_map<GUID, std::array<double, 13>, HashGUID >
std::map<GUID, std::array<double, 13>, GUIDComparer >
I initialize it at the start of my program, with about 5400 items using the initializer list. I know that seems a bit large, but it's nothing out of the ordinary. Its a temp/intermediate solution.
However, it keeps throwing:
0xC00000FD: Stack overflow (parameters: 0x00000000, 0x00052000).
If I keep the list smaller then about 4000, it seems to work, but my full list of 5400, just doesn't. Any ideas why?
EDIT:
here is how I'm initializing (4000 or so of these lines work great. 5400+, no go):
static const std::vector<std::pair<GUID, std::array<double, 13>>> engVals={
{{0x58341899, 0x8844, 0x3333, { 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04}}, {11, 101, 1.50, 3.50, 225.0, 850.0, 125.0,0.55, 19, 175, 565, 1.2, 0.44}},
{{0x67633448, 0x8103, 0x3333, { 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04}}, {11, 102, 1.50, 3.50, 475, 1300.0, 275.0, 0.55, 19, 175, 565, 1.2, 0.44}},
{{0x94422980, 0x6497, 0x3333, { 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04}}, {11, 103, 1.50, 3.50, 875.0, 1600.0, 500.0, 0.55, 19, 175, 565, 1.4, 0.51}},
...
};
EDIT 2 Forgot to specify. I'm using vs2013. This code is actually in a library compiled as a dll.
I need a initialization list because the above initialization will be generated by another app, so i need a one-liner way of initializing this container.