Аргументы шаблона становятся частью типа созданного шаблона.vector< int >
отличается от vector< string >
.По той же логике array< int, 15 >
отличается от array< int, 30 >
.Так работает язык.
Встречный вопрос.Как бы вы справились, скажем, с присвоением (operator=()
) или swap()
между этими двумя типами array< int, 15 >
и array< int, 30 >
?Если они одного типа, вы должны быть в состоянии сделать эти операции над ними, верно?Так как?Без ущерба для всей концепции std::array<>
как контейнера фиксированного размера?