2012-01-05 4 views
-1

Я работаю на C++,как инструкция выполняется в C++?

Ниже приведен вызов функции в C++,

argument = myFunction(argument); 

Что будет значение argument переменной передается myFunction() вызова, т.е. значение присваивается перед вызовом функции или значение, возвращаемое из вызова функции myFunction().

+5

Как вы можете передать значение, оцененное после вызова функции, как параметр без оценки вызова функции? –

+0

Это домашнее задание? –

ответ

9

Из-за временной необходимости будет передано значение argument перед вызовом myFunction. Это просто потому, что у вас еще нет возвращаемого значения.

Параметры вызова функции должны быть оценены перед вызовом. Порядок оценки между параметрами не указан, но у вас его только один, поэтому он оценивается. Независимо от того, что находится в этой точке (до вызова), используется функция. Когда функция возвращается, после запуска возвращается значение argument.

-5

Значение, назначенное ПЕРЕД вызовом, будет использоваться внутри функции.

+0

Перед вызовом нет назначения. Это очень важно. Значение считывается, но оно не назначается. – ssube

+2

Тривиальные вопросы приветствуются, если они связаны с программированием. Это не сайт, на котором «Google it» является действительным ответом. – Gerald

+0

, пожалуйста, уточните? Есть ли какое-либо задание или нет в обоих случаях, мои ответы кажутся правильными. Значение «аргумента» перед вызовом функции будет использоваться внутри функции. – aProgrammer

2

+1 - @peachykeen

Также можно добавить, что если argument не присвоено значение перед передачей myFunction затем в зависимости от компилятора и настроек, значение argument «s может быть неопределенными перед использованием.

Это означает, что это значение не может быть null или ноль (в зависимости от типа).

+0

Очень хорошая точка, поэтому +1 взамен. Есть немало вещей, на которые я не касался; это, условия гонки, перегрузки. – ssube