Как вернуть указатель из функции в C++

Kak Vernut Ukazatel Iz Funkcii V C



В 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++ можно вернуть указатель из функции. Этого можно добиться, объявив функцию возвращаемого типа как указатель на эту функцию. Каждая создаваемая функция занимает определенный адрес в памяти.