So che diverse (tutte?) Implementazioni di STL implementano un'ottimizzazione "piccola stringa" dove invece di memorizzare i soliti 3 puntatori per inizio, fine e capacità una stringa memorizzerà i dati di carattere reali nella memoria utilizzata per i puntatori se sizeof (caratteri) < = sizeof (puntatori). Sono in una situazione in cui ho molti piccoli vettori con una dimensione di elemento < = sizeof (puntatore). Non posso usare matrici di dimensioni fisse, poiché i vettori devono essere in grado di ridimensionarsi dinamicamente e potenzialmente diventare abbastanza grandi. Tuttavia, la dimensione mediana (non significativa) dei vettori sarà di soli 4-12 byte. Quindi una ottimizzazione "piccola stringa" adattata ai vettori sarebbe abbastanza utile per me. Esiste una cosa del genere?ottimizzazione stringa piccola per il vettore?
Sto pensando di far ruotare il mio proprio mediante la forza bruta che converte un vettore in una stringa, cioè fornendo un'interfaccia vettoriale a una stringa. Buona idea?
La tua domanda non è molto chiara. Inoltre, cosa intendi con un'interfaccia 'vector' in una' stringa'? Stai parlando di una speciale classe 'svector' per contenere stringhe piccole? – dirkgently
No. Intendo una stringa che contiene valori arbitrari anziché tipi di caratteri, proprio come un vettore. Un'interfaccia vettoriale per una stringa significa avvolgere l'oggetto stringa ed esporre un'interfaccia vettoriale compatibile, aggiungendo le funzioni mancanti come push_back. – BuschnicK
Non sarebbe possibile fare qualcosa con l'allocatore? Non avresti nemmeno 3 punti di memoria, dal momento che il vettore ha bisogno anche di un modo per sapere se è nella modalità "piccola" o "grande". – UncleBens