Come parte di un compito a casa ho bisogno di concatenare determinati valori in un array in C++. Così, per esempio se ho:Concatena gli interi in un array?
int v[] = {0,1,2,3,4}
Potrei aver bisogno ad un certo punto per concatenare v [1] -> v [4] in modo che ottengo un intero con il valore 1234.
ho ottenuto funziona usando stringstream, aggiungendo i valori allo stringstream e quindi riconvertendolo in un numero intero. Tuttavia, in tutto il programma ci saranno circa 3 milioni di permutazioni di v [] passate alla mia funzione toInt(), e lo stringstream sembra piuttosto costoso (almeno quando si tratta di molti valori). funziona, ma molto lentamente e sto cercando di fare tutto il possibile per ottimizzarlo.
Esiste un modo più ottimale per concatenare ints in un array in C++? Ho fatto qualche ricerca e quasi ovunque sembra suggerire semplicemente l'utilizzo di stringstream (che funziona, ma sembra rallentare molto il mio programma).
EDIT: Basta chiarire, io ho bisogno che il risultato sia un int.
quello che dovrebbe accadere se una delle int è maggiore di 9? O negativo? – Mat
Che cosa significa "concatenare"? Vuoi stringhe o numeri? Cosa è successo a moltiplicare per 10? –
@Mat - i valori nell'array sono sempre compresi tra 0 e 9. – Nate