Да.
std::vector<int*> vints;
vints.push_back(new int[10]);
vints.push_back(new int[20]);
vints.push_back(new int[3]);
Но есть проблема: вектор не может запомнить размер каждого динамически выделенных массивов.
Так что лучше использовать std:map
as:
std::map<int, int*> arrayMap;
arrayMap[10] = new int[10];
arrayMap[20] = new int[20];
arrayMap[3] = new int[3];
Ключ этой карты сообщает размер соответствующего динамически выделенного массива.
Еще лучше: вектор вектора как:
std::vector<vector<int> > vecArray;
Я бы предпочел последний подход, если только у меня нет веских оснований переходить к более ранним, т.е. к контейнеру , динамически выделенных массивов.