Почему компилятор рассматривает std :: array разных размеров как разные типы? - PullRequest
0 голосов
/ 18 мая 2018

Почему компилятор рассматривает std :: array разных размеров как разные типы?

1 Ответ

0 голосов
/ 18 мая 2018

Аргументы шаблона становятся частью типа созданного шаблона.vector< int > отличается от vector< string >.По той же логике array< int, 15 > отличается от array< int, 30 >.Так работает язык.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...