En C++11, comment dois-je m'y prendre pour écrire une fonction (ou une méthode) qui prend un std::array de type connu mais de taille inconnue ?
// made up example
void mulArray(std::array<int, ?>& arr, const int multiplier) {
for(auto& e : arr) {
e *= multiplier;
}
}
// lets imagine these being full of numbers
std::array<int, 17> arr1;
std::array<int, 6> arr2;
std::array<int, 95> arr3;
mulArray(arr1, 3);
mulArray(arr2, 5);
mulArray(arr3, 2);
Au cours de mes recherches, je n'ai trouvé que des suggestions d'utilisation de modèles, mais ceux-ci semblent désordonnés (définitions de méthodes dans l'en-tête) et excessifs pour ce que j'essaie d'accomplir.
Existe-t-il un moyen simple de faire fonctionner cela, comme on le ferait avec des tableaux de style C ?