Четвертый заявление в определении возвращает новое значение не указывает Нет, это * нет, который в настоящее время 77. Вернуться к главной функции: При запуске программы, заявления в главной функции сначала выполняется. Первое утверждение в основном функции присваивает значение 88 к объекту определены Минт. Второе утверждение в главной функции вызывает функцию, АФН. Третий оператор в главном будет выполнять только после этого называется функция закончила выполнение. Когда выполнение вызванной функции, АФН завершается, функция АФН возвращает значение 77.
Это значение, присвоенный идентифицированной hisRet в главной функции объекта Int. После этого, выполнение заявлений в главной функции продолжается. Далее идет соиЬ заявление (Третий оператор) в главной функции. Это печатает значение hisRet, что 77. Я буду комментировать о последнем заявлении, "возвращение 0;" позже. Проходя ссылку на функцию параметра функции может быть адрес (ссылка) объекта.
Следующий код иллюстрирует это: #include, используя патезрасе; INT AFN (INT & нет) {соиЬ нет = 77; } INT Main () {INT theInt = 88; AFN (theInt); COUT вернуть 0; } Как запуске программы, 88 присваивается объекту, идентификатор theInt. Следующее утверждение в главной функции вызывает функцию, AFN, передавая идентификатор объекта, значение которого составляет 88 в качестве аргумента. Параметр вызываемого функции "INT & нет".
Сразу вызываемая функция начинает выполнение, адрес параметр становится эквивалентным & theInt, которая является адресом объекта, объявленного в первом заявлении в главной функции. Так сразу же выполнение вызываемой функции начинается, и нет, и & theInt те же адрес одного объекта; то есть, нет и theInt являются выявление и тот же объект. Первое утверждение в вызываемой функции отображает значение NO, который так же, как значение theInt.
Второе утверждение в вызываемой функции не назначает новое значение не автоматически назначая новое значение theInt, потому что оба идентификатора определить тот ж