В C++ функция — это блок кода, который вводится для выполнения некоторой функции, а указатели используются для указания переменных в функции. Указатели назначаются по адресу.
Как вернуть указатель из функции в C++
В C++ можно вернуть указатель из функции. Этого можно добиться, объявив функцию возвращаемого типа как указатель на эту функцию. Каждая создаваемая функция занимает определенный адрес в памяти. Звездочка * вставляется слева от названия функции.
Синтаксис
Это синтаксис возврата указателя из функции в C++:
возвращаться тип ( * имя_указателя_функции ) ( тип_аргумента_1, тип_аргумента_2, ……, тип_аргумента_n ) '=' имя_функции ;
Пример 1
Этот пример иллюстрирует возврат указателя из функции в C++:
#include
с использованием пространство имен стандартный ;
пустота результат ( интервал & а )
{
а + '=' 10 ;
}
интервал основной ( )
{
интервал Икс '=' 40 ;
//указатель возвращается из функции
пустота ( * ПТР ) ( интервал & ) '=' & результат ;
ПТР ( Икс ) ;
расчет << Икс << конец ;
возвращаться 0 ;
}
В этом исходном коде объявлена функция результата void, которая принимает ссылку на int a, которая увеличивается 10 раз. Переменная x хранит значение 40, а *ptr указывает на функцию int&. Поскольку ptr указывает на результат, x увеличивается на 10.
Значение ввода x увеличивается на 10 и возвращается на 50.
Пример 2
Это пример расчета еженедельной зарплаты работников:
#includeс использованием пространство имен стандартный ;
двойной & Получить еженедельные часы ( )
{
двойной час '=' 32,65 ;
двойной & часы '=' час ;
возвращаться часы ;
}
двойной * Получить зарплату ( )
{
двойной зарплата '=' 42,48 ;
двойной * Почасовая зарплата '=' & зарплата ;
возвращаться Почасовая зарплата ;
}
интервал основной ( )
{
двойной часы '=' Получить еженедельные часы ( ) ;
двойной зарплата '=' * Получить зарплату ( ) ;
расчет << «Часы работы рабочих в неделю:» << часы << конец ;
расчет << «Почасовая заработная плата рабочих:» << зарплата << конец ;
двойной Еженедельная зарплата '=' часы * зарплата ;
расчет << «Еженедельная зарплата рабочих:» << Еженедельная зарплата << конец ;
возвращаться 0 ;
}
В этом исходном коде вводятся часы и почасовая зарплата. Указатель возврата из метода функции используется для доступа к этим параметрам и расчета еженедельной зарплаты работников.
Зная количество часов в неделю и почасовую зарплату, можно рассчитать недельную зарплату путем умножения обоих этих слагаемых.
Заключение
В C++ можно вернуть указатель из функции. Этого можно добиться, объявив функцию возвращаемого типа как указатель на эту функцию. Каждая создаваемая функция занимает определенный адрес в памяти.