Лично я предпочитаю:
std::cin >> size;
std::vector a(size);
Позже, как уже упоминали другие, вы могли бы сделать что-то вроде ...
std::cin >> size;
a.resize(size);
... но, и это, вероятно,Ключевой момент, вам не нужно, если вы не хотите.Если ваши требования и ограничения таковы, что они могут быть удовлетворены статическими массивами / векторами / другими структурами данных, то это здорово.Пожалуйста, не думайте, что вы знаете достаточно о требованиях и ограничениях других, чтобы удалить из них очень полезный инструмент.