Функция в С++

129 прочитали

Просьба к бывалым программистам не писать комментарии типа “и зачем ты это написал?”, “об этом можно прочитать в любом учебнике” и т.п. Я понимаю, что бывалых раздражают такие статьи - статьи об элементарном. Однако вспомните себя начинающими программистами, может раздражение немного пройдёт.

Да, в любом учебнике об этом можно почитать. Но не все читают учебники. Кто-то просто из любопытства зайдёт на эту страницу, кому-то надо быстро дать ответ на экзамене и т.п. Так что у таких статей клиентура всегда есть. Ну а теперь по сути…

Функция в С++ (как и в любом другом языке программирования) - это обособленный блок кода, который решает какую-то задачу (например, возведение числа в степень), и при необходимости выдаёт результат. В С++ функция выглядит примерно так:

<Тип возвращаемого значение> ИмяФункции(<Аргументы функции>)
{
<Код функции>
<return Выражение;>
}

То, что находится в треугольных скобках, не является обязательным. То есть в простейшем случае ваша функция может выглядеть так:

my_func()
{
}

Зачем нужны такие функции? Ну обычно это используется для ускорения разработки программ. Когда вы просто сначала определяете функцию, примерно понимая, что она должна делать, и вставляете её имя в тех участках кода, где нужно. А саму функцию разрабатываете позже.

Ну а вообще конечно в таком виде функции встречаются редко. Даже простейшие функции почти всегда возвращают какой-то результат, и также часто принимают какие-то параметры (аргументы). Примерно так:

Просьба к бывалым программистам не писать комментарии типа “и зачем ты это написал?”, “об этом можно прочитать в любом учебнике” и т.п.

Хотя приведённый выше пример простейшей функции допустим, лучше всё-таки не отходить от классики, и даже если функция ничего не возвращает, то указывать возвращаемый тип void, а также слово return в конце функции:

void my_func()
{
return;
}

В функцию можно передавать один или несколько аргументов разных типов. В этом случае они перечисляются через запятую:

void my_func(int x, float y)

Впрочем, так это делается почти во всех языках программирования (с некоторыми особенностями, разумеется). Одна из таких особенностей С++ - для каждого параметра необходимо указывать тип данных. Например, в Паскале вы можете сделать так:

function MyFunc(x, y, x : integer) : integer;

То есть указать тип один раз для нескольких параметров. В С++ это не прокатит. Вот так нельзя:

void my_func(int x, y)

Думаю, понятно, почему. Художник так видит )))

Ну и в конце наверно надо добавить, что есть ещё “основная” функция - сама программа - функция main(). В отличие от обычной функции, которая возвращает результат в программу, функция main() возвращает результат операционной системе после завершения программы. А в качестве аргументов в этой функции могут быть, например, параметры командной строки (пример см. здесь).

Это, конечно, не всё, что надо знать о функциях. Но об остальном в следующий раз. Так что подписывайтесь на канал, чтобы ничего не пропустить.