Better size aligning?
Firstly, given that you're using vector without namespace qualification (that is, not as std::vector), I assume you have a using namespace std; in this code. This is generally a bad idea, but especially so in this case. You use vector&lt;unsigned char&gt; &amp; right (and vector&lt;unsigned char&gt; left), however, there is a std::right (and a std::left) defined in &lt;ios&gt;. This could potentially lead to some very confusing compiler errors. 

Using a few tricks from &lt;algorithm&gt;, we can shorten the above code considerably.

void bigint::process_operands(vector&lt;unsigned char&gt; &amp; left_, vector&lt;unsigned char&gt; &amp; right_)
{
   auto&amp; shorter = (left_.size() &lt; right_.size()) ? left_ : right_;
   std::fill_n(std::back_inserter(shorter), std::abs(left_.size() - right_.size()), '0');
}


This is much more terse, but I find that using the standard library actually makes this code easier to read and more clear as to exactly what it is doing.