Quick Sort Implementation C++11
Advice 1

You can save some indentation space:

if (size &gt; 1) {
    ... // Lots of code.
}


to

if (size &lt; 2) {
    return;
}
... // Lots of code here.


Advice 2

You can do the partitioning in-place; there is no need for asking for more memory. The pseudocode in Wikipedia is rather detailed, uses no auxiliary memory (except for the recursion stack, of course) and is easy to follow.