Вопрос

Учитывая следующий вызов функции в C:

fooFunc( barFunc(), bazFunc() );

Порядок исполнения barFunc а также BazFunc не указан, поэтому barFunc() может быть вызван раньше bazFunc() или же bazFunc() до barFunc() в C.

Делает Java Укажите порядок выполнения выражений аргумента функции или подобного C Это неуточнен?

Это было полезно?

Решение

От Язычная спецификация (на выражениях):

15.7.4 Списки аргументов оцениваются слева направо

В методе или вызове конструктора или выражении экземпляра класса выражения аргументов могут появляться в скобках, разделенных запятыми. Каждое выражение аргумента, по -видимому, полностью оценивается до какой -либо части любого выражения аргумента справа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top