Boost, Qt, Facebook Folly, Eigen - огромное количество библиотек предоставляют контейнеры разной степени паршивости. Но судя по формулировке задания, от вас будут ожидать, что вы напишите new[] (граждан, которые на C++ пишут malloc ожидает веселое UB, когда они перепутают и вызовут delete вместо free) и накатаете контейнер своими руками.