Поскольку C ++ был разработан для (почти) обратной совместимости с кодом C.
Бывают случаи, когда код C ломается в компиляторе C ++, но они довольно редки, и, как правило, есть веская причина, почему требуется такая поломка.
Но изменение сигнатуры main, хотя и удобно для нас, не обязательно . Для кого-то, портирующего код из C, это будет просто другая вещь, которую вам придется изменить, без особой выгоды.
Другая причина в том, что std::vector
- это библиотека, а не часть основного языка. И так, вам нужно было бы #include <vector>
в каждой C ++ программе.
И, конечно, в ранние годы C ++ не имел вектора . Поэтому, когда вектор был добавлен к языку, он, конечно, мог бы изменить сигнатуру main
, но тогда они нарушали бы не только код на C, но и все существующие программы на C ++.
Стоит ли это того?