Projet de C++14 comprend à la fois à l'exécution, la taille des tableaux et de l' std::dynarray
conteneur. À partir de ce que je peux dire, la seule vraie différence entre les deux est que l' std::dynarray
a une interface STL (par exemple, begin
, end
, size
, etc.), pendant l'exécution, la taille des matrices de ne pas. Alors, pourquoi est-ce que C++14 besoin des deux?
Je comprends que l'exécution de la taille des tableaux font partie de la base de la langue, tandis que d' std::dynarray
fait partie de la bibliothèque standard, mais la proposition d' std::dynarray
rend clair le fait que les auteurs s'attendent à des compilateurs, dans de nombreux cas, d'offrir un soutien spécial pour l' std::dynarray
, de sorte qu'il peut être aussi efficace que possible, c'est à dire, aussi efficace qu'un moteur d'exécution tableau de taille. En tant que tel, de la langue et de la bibliothèque distinction semble quelque peu artificielle.
Donc, encore une fois, pourquoi est-ce que C++14 besoin à la fois de l'exécution, la taille des tableaux et std::dynarray
? Et étant donné que l' std::dynarray
est plus riche (STLified) de l'interface, pourquoi ne pas les déposer à l'exécution, la taille des tableaux, en supposant qu' std::dynarray
peut être mis en œuvre avec l'égalité d'exécution de l'efficacité?
Précisions
Quand je parle de "exécution de la taille des tableaux," je suis se référant à un nouveau C++14 langage de base fonctionnalité décrite dans N3639, pas à la traditionnelle C des tableaux ou VLAs ou quoi que ce soit en C++11.