соглашение о вызовах и порядок оценки

Я знаю, что C ++ не определяет порядок, в котором параметры передаются функции. Но если мы напишем следующий код:

void __cdecl func(int a, int b, int c)
{
       printf("%d,%d,%d", a,b,c);
}
int main()
{
   int i=10;
   func(++i, i, ++i);
}

Можем ли мы с уверенностью сказать, что вывод будет 12,11,11 , поскольку __ cdecl гарантирует, что порядок передачи аргументов будет справа налево?

5
задан 9 December 2010 в 18:51
поделиться