#include <iostream>
#include <map>
#include <list>
#include <string>
#include <vector>

class foo
    {
        private:
            std::map<std::string, std::list<int>> _allObjs;
            std::vector<int*> _someObjs;

         public:
            void addObj(const std::string &name, int obj)
                {
                    _allObjs[name].push_back(obj);
                    _someObjs.push_back(&_allObjs[name].back());
                }

            void doStuff()
                {
                    for (auto &obj : _someObjs)
                        {
                            std::cout << *obj << std::endl;
                        }
                }

    };

int main()
    {
        foo test;
        test.addObj("test1", 5);
        test.addObj("test1", 6);

        test.addObj("test2", 7);
        test.addObj("test2", 8);

        test.doStuff();
    }