Comment puis-je transmettre un tableau temporaire? Je veux faire quelque chose comme ceci:Comment passer un tableau temporaire?
#include <iostream>
int sum(int arr[]) {
int answer = 0;
for (const auto& i : arr) {
answer += i;
}
return answer;
}
int main() {
std::cout << sum({4, 2}) << std::endl; // error
std::cout << sum(int[]{4, 2}) << std::endl; // error
}
Ai-je besoin d'un entier positif littérale dans les accolades du paramètre de la fonction []
? Si j'inclus ce littéral, cela limitera-t-il les tableaux que je peux transmettre uniquement aux tableaux de cette taille? Aussi, comment puis-je passer des éléments de tableau par référence rvalue ou référence const? Parce que l'exemple ci-dessus ne compile pas, je suppose que la création du type de paramètre de la fonction int&&[]
ou const int&[]
ne fonctionnera pas.
Vous pouvez utiliser un modèle pour en déduire la taille. –
pourquoi ne pas utiliser 'std :: array' ou' std :: vector'? – Charles
@ c650, je sais comment les utiliser. Je veux juste en apprendre davantage sur les tableaux de style C. – CodeBricks