Store/convert the numbers as two separate integer arrays (<vector>'s or <list>'s even) and "add with carry". The biggest pains with this, if you could call them that, are sizing the answer array (the others not so much) and numbers read for us from right to left.