Поэтому, когда у меня есть эта функция, и я печатаю ее на консоли с помощью нескольких операторов, я получаю ожидаемые результаты:
0
1
Но когда я распечатываю функцию только с помощью одного оператора cout в той же строке, я получаю:
3 2
(Это после начальных 0 и 1, которые были ранее напечатаны)
Почему печатается задом наперед?
#include "stdafx.h"
#include <iostream>
using namespace std;
int addOne()
{
static int s_num = -1;
return ++s_num;
}
int main()
{
cout << addOne() << "\n";
cout << addOne() << "\n";
cout << addOne() << " " << addOne() << "\n";
return 0;
}