-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy path06_functions.cpp
More file actions
50 lines (36 loc) · 2.1 KB
/
06_functions.cpp
File metadata and controls
50 lines (36 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Исходный код программы на С++.
// 1. "определение" функции без входных параметров и возвращаемого значения
void do_nothing() {
// здесь находится тело функции
}
// 2. "определение" функции с 1 входным параметром без возвращаемого значения
void do_nothing(int arg) {
if (arg > 10) {
return; // "завершаем" выполнение функции
}
// тело функции
}
// 3. "объявление" функции (тело функции не определено)
int do_something();
// Заметка: main вызывается автоматически при запуске программы (исполняемого файла).
int main() {
// Вызов функций.
// Вызов функций осуществляется оператором "круглые скобки" ().
// При наличии аргументов, они передаются внутрь скобок.
do_nothing(); // 1
do_nothing(12); // 2
int ret = do_something(); // 3
return 0; // оператор "завершения вызова" функции
}
// 3. "определение" ранее объявленной функции
int do_something() {
return 3;
}
/*
* Задания:
* 1. Определите функцию, которая ничего не возвращает и принимает два входных параметра.
* 2. Определите функцию, которая возвращает два и более значения (tuple). Возможно ли это?
* 3. В чем разница между "объявлением" и "определением" функции?
* 4. Какая функция запускается вне зависимости от того, вызываем ли мы ее?
* 5. Поразмыслите, что происходит с данными, которые передаются в функцию: копирование, ссылка?
*/