I want to have a map of vectors, (but I don't want to use pointer for the internal vector), is it possible?
// define my map of vector
map<int, vector<MyClass> > map;
// insert an empty vector for key 10. # Compile Error
map.insert(pair<int, vector<MyClass> >(10, vector<MyClass>));
I know that if I have used pointer for vector, as follows, it would be fine, but I wonder if I can avoid using pointer and use the above data structure (I don't want to manually delete)
// define my map of vector
map<int, vector<MyClass>* > map;
// insert an empty vector for key 10.
map.insert(pair<int, vector<MyClass>* >(10, new vector<MyClass>));
See Question&Answers more detail:os