В качестве части домашнего задания мне нужно объединить определенные значения в массиве в C++. Так, например, если у меня есть:Конкатенировать ints в массиве?
int v[] = {0,1,2,3,4}
мне может понадобиться в какой-то момент для конкатенации v [1] -> V [4], так что я получаю Int со значением 1234.
меня он работает с использованием stringstream, добавляя значения в строковый поток и затем преобразовывая обратно в целое число. Однако во всей программе в конечном итоге будет около 3 миллионов различных перестановок v [], переданных моей функции toInt(), и строка string кажется довольно дорогой (по крайней мере, имея дело с множеством значений). он работает, но очень медленный, и я пытаюсь сделать все возможное, чтобы его оптимизировать.
Есть ли более оптимальный способ конкатенации int в массиве в C++? Я сделал некоторые поиски и почти везде, кажется, просто предлагает использовать stringstream (который работает, но, похоже, замедляет мою программу).
EDIT: Просто уточняю, мне нужен результат, чтобы быть int.
Что должно произойти, если один из Интс больше 9? Или отрицательный? – Mat
Что означает «конкатенация»? Вам нужны строки или цифры? Что случилось с умножением на 10? –
@Mat - значения в массиве всегда находятся между 0 и 9. – Nate