Attualmente sto facendo un'applicazione utilizzando i vettori con C++.C++ push_back vs Insert vs emplace
So come la pre-ottimizzazione è la radice di tutto il male.
Ma davvero non posso fare a meno di essere curioso.
Sto aggiungendo parti di altri vettori in un altro vettore.
diremo il vettore avrà una dimensione che non cambia mai di 300.
Dal momento che ho sempre aggiungere alla fine del vettore
E 'veloce da fare:
a.reserve(300);
a.insert(a.end(), b.begin(), b.end());
o sarebbe più veloce per scorrere il vettore che voglio aggiungere e aggiungere ogni elemento singolarmente (pur prenotando in anticipo) con push_back
o emplace
. (incerto quale è più veloce)
Chiunque può aiutarmi su questo?
"STL efficace" Elemento 5: Preferire le funzioni degli elementi di intervallo alle controparti a elemento singolo – Cubbi
Scegliere il codice di pulizia, utilizzare ciò che STL fornisce ... non iterare a meno che non sia necessario. Il riutilizzo del codice nella maggior parte dei casi supererà le versioni personalizzate a mano di semplici operazioni come questa. Queste funzioni sono state progettate pensando all'efficienza. – eazar001
Il 'insert' potrebbe essere più veloce, o potrebbe essere più o meno lo stesso, ma (a meno di un'implementazione di librerie criminalmente cattiva) non sarà mai peggio di un ciclo. –