Объединить целые числа в массив?

As часть домашнего задания, мне нужно объединить определенные значения в массиве на C++. Итак, например, если у меня есть:

int v[] = {0,1,2,3,4}

В какой-то момент мне может понадобиться конкатенировать v[1] -> v[4], чтобы я получил int со значением 1234.

Я заработал, используя stringstream, путем добавления значений в строковый поток и последующего преобразования обратно в целое число. Однако по всей программе в конечном итоге будет около 3 миллионов различных перестановок v[], переданных в мою функцию toInt(), и строковый поток кажется довольно дорогим (по крайней мере, при работе с таким количеством значений). он работает, но очень медленно, и я пытаюсь сделать все возможное, чтобы его оптимизировать.

Существует ли более оптимальный способ конкатенации целых чисел в массиве в C++? Я провел некоторый поиск, и почти везде, кажется, просто предлагается использовать stringstream (который работает, но, похоже, сильно замедляет мою программу).

РЕДАКТИРОВАТЬ: Просто уточняю, мне нужно, чтобы результат был int.

7
задан Bill the Lizard 20 September 2012 в 21:01
поделиться