Это не работает. И причина для меня загадочна.3D-вектор структуры emplace_back
PS: Использование C++ 11
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
struct MyStruct {
size_t some_num;
char some_char;
bool some_bool;
MyStruct* some_ptr;
};
vector<vector<vector<MyStruct>>> three_d_struct_v;
size_t max_i = 100;
size_t max_j = 10;
size_t max_k = 10;
for(size_t i = 0; i < max_i; i++) {
for(size_t j = 0; j < max_j; j++) {
for(size_t k = 0; k < max_k; k++) {
three_d_struct_v.emplace_back(k, 'x', false, nullptr);
}
}
}
return 0;
}
'three_d_struct_v' не является вектором' MyStruct', это вектор векторов. –
честно говоря, я бы использовал карту карт векторов и просто назову это хорошо. [См. Это в прямом эфире] (http://ideone.com/ybV183). или даже карту карты карт, но безумие должно заканчиваться где-то. – WhozCraig
@WhozCraig ваш идеон запускает 20 миллионов во времени: 3.59 память: 555008 (заканчивается), где в качестве принятого времени ответа: 2.87 памяти: 3468 – ParoX