As others have said, simply optimizing the copy constructor call is what happens if you turn off these optimizations.
barricada ~$ g++ -o test test.cpp -O0 -fno-elide-constructors barricada ~$ ./test copy 30 copy 134515065 -1217015820 20 10
source share