1 - Нет реальной концепции размеров как таковой. Но вы можете создавать «вложенные» типы. Например:
std::vector <int> intVec;
std::vector < std::vector <int> > doubleIntVec;
Здесь intVec
можно сравнить с одномерным вектором, doubleIntVec
- с двойным измерением и т. Д. Типы не обязательно должны быть одинаковыми, например, вы можете сделать std::vector < std::vector <char> > doubleIntVec
, поэтому термин «измерение» здесь не совсем правильный.
2 - Как и у любого другого типа, нет особой обработки векторов.
3 - Да, например, если вам нужно изменить их размер, но вы можете реализовать массивы, чтобы они вели себя аналогично. Помимо этого преимуществом является стандартизация, встроенное управление памятью, дополнительные методы и различные алгоритмы STL, которые можно запускать на векторах (будучи стандартным контейнером).