7.2. Прототип функции
7.2. Прототип функции
Прототип функции описывает ее интерфейс и состоит из типа возвращаемого функцией значения, имени и списка параметров. В данном разделе мы детально рассмотрим эти характеристики.
7.2.1. Тип возвращаемого функцией значения
Тип возвращаемого функцией значения бывает встроенным, как int или double, составным, как int или double*, или определенным пользователем – перечислением или классом. Можно также использовать специальное ключевое слово void, которое говорит о том, что функция не возвращает никакого значения:
#include string
#include vector class Date { /* определение */ };
bool look_up( int *, int );
double calc( double );
int count( const string , char );
Date calendar( const char );
void sum( vectorint, int );
Однако функция или встроенный массив не могут быть типом возвращаемого значения. Следующий пример ошибочен:
// массив не может быть типом возвращаемого значения
int[10] foo_bar();
Но можно вернуть указатель на первый элемент массива:
// правильно: указатель на первый элемент массива
int *foo_bar();
(Размер массива должен быть известен вызывающей программе.)
Функция может возвращать типы классов, в частности контейнеры. Например:
// правильно: возвращается список символов
listchar foo_bar();
(Этот подход не очень эффективен. Обсуждение типа возвращаемого значения см. в разделе 7.4.)
Тип возвращаемого функцией значения должен быть явно указан. Приведенный ниже код вызывает ошибку компиляции:
// ошибка: пропущен тип возвращаемого значения
const is_equa1( vectorint vl, vectorint v2 );
В предыдущих версиях С++ в подобных случаях считалось, что функция возвращает значение типа int. Стандарт С++ отменил это соглашение. Правильное объявление is_equal() выглядит так:
// правильно: тип возвращаемого значения указан
const bool is_equa1( vectorint vl, vectorint v2 );
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
16.5.1. Функции
16.5.1. Функции Интерфейс termios определяет несколько функций. Все они объявлены в <termios.h>. Четыре из них являются обслуживающими функциями для переносимого манипулирования структурой struct termios; остальные представляют собой системные вызовы. Функции, начинающиеся с cf,
Функции GMP
Функции GMP ПодразделыФункции Введение Функции этого вида позволяют работать с целыми числами повышенной точности определенного формата используя библиотеку GNU MP.Эта библиотека не входит в стандартный пакет PHP. Загрузить коды библиотеки и документацию по ней можно на
19.7.8. Функции
19.7.8. Функции Описание функции выглядит так: имя() { список; }Пример:cdir(){ # изменяем каталог cd / }При выполнении функция не создает нового процесса, а выполняется в среде процесса, содержащего эту функцию. Аргументы функции можно передать ей как обыкновенные параметры при
10.16 Функции TCP
10.16 Функции TCP Данная глава посвящена многочисленным функциям TCP. Ниже перечислены основные из них:? Связывание портов с соединениями? Инициализация соединений посредством трехшагового подтверждения? Выполнение медленного старта, исключающего перегрузку
8.6. Функции
8.6. Функции Оператор определения функции имеет следующий синтаксис:[function] имя() { список}Определять функцию можно в любом месте сценария, но вызов ее должен осуществляться строго после описания. Вызывается функция подобно любой команде — по имени. Переданные ей аргументы
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел "4.5.2. Функции Geometry" обсуждает несколько функций, которые создают новые конфигурации из
Функции
Функции Excel – серьезная программа для вычислений, одним из главных достоинств которой является множество встроенных функций. Это обширная тема, достойная если не книги, то главы в многотомном руководстве. Рассмотрим ее кратко – ровно настолько, чтобы вы могли далее
Объявление функции (прототип)
Объявление функции (прототип) Метод объявления функции, описанный в данном разделе, используется только в версии 4.0 СП MSC. В версии 5.0 СП MSC, а также в СП ТС реализован более современный метод — объявление прототипа функции, а старый метод поддерживается в этих версиях лишь
Прототип стиральной машины со встроенным Wi-Fi Николай Маслухин
Прототип стиральной машины со встроенным Wi-Fi Николай Маслухин Опубликовано 11 марта 2014 Компания Berg представила свой проект Cloudwash — прототип стиральной машины с выходом в интернет. Интересными особенностями концепта является принципиально новый
Олег Мельников, новый CTO Runa Capital: 90 процентов стартапов умирает, несмотря на хорошую идею или прототип Елена Краузова
Олег Мельников, новый CTO Runa Capital: 90 процентов стартапов умирает, несмотря на хорошую идею или прототип Елена Краузова Опубликовано 28 мая 2013 На прошлой неделе стало известно, что сооснователь и старший вице-президент по автоматизации Parallels Олег
Сотрудник Valve представил прототип самого необычного контроллера Андрей Васильков
Сотрудник Valve представил прототип самого необычного контроллера Андрей Васильков Опубликовано 06 декабря 2013 Инженер компании Valve Бен Краснов (Ben Krasnow) продемонстрировал концепт нового игрового контроллера, который можно назвать самым
У14.6 Отложенные классы и прототип
У14.6 Отложенные классы и прототип Отложенные классы нельзя инициализировать. С другой стороны, были приведены аргументы в пользу того, чтобы в первой версии класса в проекте все компоненты оставались отложенными. Может появиться желание "выполнить" такой проект: при
В США создан прототип полупрозрачного эластичного дисплея Андрей Васильков
В США создан прототип полупрозрачного эластичного дисплея Андрей Васильков Опубликовано 24 сентября 2013 Пока Samsung продолжает дразнить очередной демонстрацией Youm, а Plastic Logic делает ставку на размер гибких экранов, исследователи из университета
AppSeed позволит превратить эскиз в работающий прототип разрабатываемого приложения Михаил Карпов
AppSeed позволит превратить эскиз в работающий прототип разрабатываемого приложения Михаил Карпов Опубликовано 09 октября 2013 Одно дело — нарисовать интерфейс приложения на листе бумаги или в приложении на планшете, другое — создать его