Dans la programmation multithread, le besoin de fusionner les résultats de plusieurs threads se pose fréquemment. Un scénario courant implique la concaténation de vecteurs contenant des données. Le but de cet article est de déterminer l'approche la plus efficace pour effectuer cette opération.
Supposons que nous ayons trois vecteurs :
Quel est le moyen le plus efficace d'y parvenir ?
Le moyen le plus efficace concaténer deux vecteurs consiste à utiliser les méthodes reserve() et insert(). Le code suivant illustre cette approche :
<code class="cpp">AB.reserve( A.size() + B.size() ); // preallocate memory AB.insert( AB.end(), A.begin(), A.end() ); AB.insert( AB.end(), B.begin(), B.end() );</code>
Cette approche est efficace car elle évite de copier les éléments vectoriels et ne nécessite qu'une seule allocation de mémoire.
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!