Pour créer un pipeline de plage qui traite les valeurs dans des conteneurs temporaires, il est essentiel d'incorporer l'opérateur vues::cache1. Cet opérateur met en cache les résultats d'une transformation, garantissant qu'elle est disponible pour les opérations ultérieures.
Considérons le scénario suivant dans lequel une fonction tierce f prend un paramètre de type T et renvoie un vecteur de T. Pour créer un pipeline de plage qui applique f à tous les éléments d'une plage infinie src et aplatit les résultats en une seule plage, nous pouvons utiliser l'approche suivante :
<code class="cpp">auto rng = src | views::transform(f) | views::cache1 | views::join;</code>
Composants du pipeline :
En incorporant vues::cache1, nous garantissons que les conteneurs vectoriels temporaires créés par f sont disponibles pour que vues::join soient concaténées en une seule plage. Ceci est essentiel pour créer des pipelines de gamme qui fonctionnent correctement avec des conteneurs temporaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!