I found interesting example of code and don't understand, why output is 656. I thought Function had to been called first, so variable 'b' had to been changed second and output will be 655. But this example shows reversing calling. Why? I tried to separate 'cout' in three parts and everything works as I guessed.
#include <iostream>
int Function(int number1, int& number2)
{
number1++;
number2--;
return number1;
}
int main()
{
int a = 5, b = 6;
std::cout << Function(a, b) << a << b; // 656
return 0;
}