Wpis z mikrobloga

@kolesnikov: na moich wykładach też pewnie było ale ja jestem leserem... :P tzn. teraz już pracuję, a nie się uczę ale przez to, że nie uczyłem się wtedy kiedy był na to czas to muszę się czasem wspomagać... -_-' bo trudno strasznie takie "kruczki" znaleźć.
@smsrampage: C99 §6.5.2.2p10:

The order of evaluation of the function designator, the actual arguments, and subexpressions within the actual arguments is unspecified, but *there is a sequence point before the actual call*.


Tak samo to wygląda w C++.

W twoim przypadku masz jedynie gwarancję, że pierwsza() wywoła się przed druga() oraz że czwarta() wywoła się ostatnia – zaznaczyłem to kursywą we wcześniejszym cytacie.
@smsrampage: Przy poprawnie napisanym kodzie nie powinno mieć znaczenia, w jakiej kolejności wykonają się funkcje zwracające argumenty do kolejnej funkcji. Zastanów się nad refaktoryzacją kodu.

A jeśli funkcja, która musi wykonać się pierwsza, ma jakiś ważny fragment, to zastanów się nad wydzieleniem go do osobnej funkcji i wykonanie jej wcześniej (np. funkcja druga i pierwsza wymagają wyciągnięcia danych z bazy, przy czym tylko funkcja druga łączy się z nią, wtedy logiczne