*   >> Чтение Образование Статьи >> science >> programming

Функции в C ++

емник. Правый операнд является вызов функции, возвращающей указатель (адрес памяти). Это нормально для инициализации указателя, используя адрес памяти заостренным предметом. Так что в этом заявлении инициализации, указатель (адрес памяти) переходит в объект, выявленных, приемник. Пока, как весь код, то, два объекта указатель теперь есть адрес памяти остроконечным предметом: объекты являются указатель указатель в функциональном блоке и приемником theFn в главном функционального блока. Теперь, два указателя указывают на тот же объект.

Для того, чтобы получить значение объекта они указывая, вы должны использовать оператор разыменования на любой из указателей в их семявыносящих блоков. СоиЬ Объект использует оператор dereferece, * на указатель, приемник. Обратите внимание, что при вызове функции, мы не предшествовать имя функции, theFn, с *. Попробуйте выше код. Проходя указатель на функцию параметра в функции может быть указателем.

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

В качестве аргумента этой функции является вызов адрес (указатель) объекта, идентифицированного Минт (в главной функции). Значение этого объекта, чей адрес передается в качестве аргумента 88. Функция (определение), передает АФН называется, в правом операнде второго утверждения в главной функции. Вне основной функции, параметр АФН функции, INT * нет Идентификатор, нет, используется в определении функции.

Незадолго до заявления в определении функции АФН выполнены, следующий инициализации происходит неизвестное вам: Int * нет = & Минт; Правый операнд этой инициализации является адрес объекта инициализирован в главной функции. Этот адрес был отправлен в качестве аргумента в вызове функции. Левый операнд, здесь, имеет декларацию указатель параметра определения функции. При инициализации указателя, правый операнд является адресом, даже если левый операнд означает значение. Таким образом, это инициализация ОК.

Заявления в определении функции использовать эту скрытую

Page   <<  [1] [2] [3] [4] [5] [6] [7] [8] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.