powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Два типа функций
25 сообщений из 29, страница 1 из 2
Два типа функций
    #38060891
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два типа функций по критерию способ присваивания результата

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#include <iostream>
using namespace std;

int outFunc(int a) { return a + 1; }
void inFunc(int a, int& out) { out += 1; }

int main()
{
    int a = 5;
    a = outFunc(a); // 5 => 6
    cout << a; // 6
    inFunc(a, a); // 6 => 7
    cout << a; // 7
    
    return 0;
}



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

Какое слово вставить вместо многоточия??
...
Рейтинг: 0 / 0
Два типа функций
    #38060893
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый вариант можно называть pure functions . Если еще задаться доп. условием что в теле этой функции
нет модификаций глобальных переменных или вызовов глобальных методов.

Второй вариант - не знаю. Возможно это просто процедура с out-параметром.
По синтаксису С++ это функция. А по смыслу - процедура.
...
Рейтинг: 0 / 0
Два типа функций
    #38060909
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

процедурная функция это корректный термин в cs??
...
Рейтинг: 0 / 0
Два типа функций
    #38060913
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cs это что? Counter Strike?
...
Рейтинг: 0 / 0
Два типа функций
    #38060918
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Два типа функций
    #38060922
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю такого термина как процедурная функция.
Лучше просто процедура. Или метод.
...
Рейтинг: 0 / 0
Два типа функций
    #38060930
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вторая функция называется "с побочным эффектом"
...
Рейтинг: 0 / 0
Два типа функций
    #38060933
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сказал короче. Грязная.
...
Рейтинг: 0 / 0
Два типа функций
    #38060936
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

если я скажу ему используй грязную функцию, то он не поймет чего я от него хочу.
...
Рейтинг: 0 / 0
Два типа функций
    #38060940
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-нибудь сказать короче эту фразу: используй функции, в которых результат передается через аргумент, а не через возвращаемое значение.
...
Рейтинг: 0 / 0
Два типа функций
    #38060944
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот вчера одну работницу гипермаркета обозвал кобылой.
Я -бы мог сказать "эта некомпетентная сотрудница отдела
касс, не умеющая пользоваться платёжным терминалом".

Но я сказал просто и понятно. И без обид. Кобыла
она и есть кобыла. И ничего обидного нет.
...
Рейтинг: 0 / 0
Два типа функций
    #38060959
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

конечно вам это не обидно, вы ведь не можете чувствовать так же как она. Вы ведь мужчина.

На мой взгляд когда женщину называют кобылой, то это прежде всего, не понятно, что вы имели ввиду, потому что если брать жаргонный смысл слова кобыла, адресованное женщине, то это означает некрасивая (мымра), а для женщины очень обидно, когда её называют некрасивой... тем более, если она только учится пользоваться терминалом... например, в кафетерии, куда я периодически захаживаю, часто меняется персонал и молодые девушки не всегда умеют пользоваться терминалом, поэтому часто зовут старшего кассира и просят объяснить ещё раз... Лично мне не кажется, что они от этого кобылами становятся...

Короче, если бы рядом был её парень, то может быть вам было бы трудно за базар ответить...
...
Рейтинг: 0 / 0
Два типа функций
    #38060984
DotNot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lumixmayton,

http://en.wikipedia.org/wiki/Computer_science в прошлом.

Ныне, cs - это Си Шарп! C#
...
Рейтинг: 0 / 0
Два типа функций
    #38061035
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DotNot,

где пруф?
...
Рейтинг: 0 / 0
Два типа функций
    #38061044
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже нашел С# первой ссылкой.

По теме кассовых кобыл. Я - чел прямолинейный. Если говорю что функция грязная -
значит она грязная. И нечего елейничать с девелопером. Чай не любовники.

Не понял 1 раз - объяснил. Не понял 2 раз - объяснил пристально глядя в глаза.
Ну а на третий раз можно и в сад послать.
...
Рейтинг: 0 / 0
Два типа функций
    #38061067
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
назвать то можно как угодно, но есть и устоявшиеся термины

wiki
Побочный эффект (программирование)
Материал из Википедии — свободной энциклопедии

Побо́чный эффе́кт функции — возможность в процессе выполнения своих вычислений: читать и модифицировать значения глобальных переменных, осуществлять операции ввода/вывода, реагировать на исключительные ситуации, вызывать их обработчики. Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, может случиться так, что в качестве результата вычислятся разные значения. Такие функции называются недетерминированными функциями с побочными эффектами.
...
Рейтинг: 0 / 0
Два типа функций
    #38061069
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее, функция не должна ничего менять.
А должна менять процедура.
Но в Си процедур не предусмотрено.
...
Рейтинг: 0 / 0
Два типа функций
    #38061131
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разница между функциями и процедурами пошла из паскаля. В паскале функциями называют те, которые возвращают значение, если значение не возвращается, то это в паскале называется процедурой.
По поводу темы, предлагаю более канонические формулировки, вместо диковинных "грязных/чистых". Первая функцию можно назвать: "Функция возвращающая значение, но не меняющая значение своего аргумента", вторую функцию можно назвать: "Функция НЕ возвращающая значение, но меняющая значение своего аргумента".
...
Рейтинг: 0 / 0
Два типа функций
    #38061173
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капец. Слов нет.
...
Рейтинг: 0 / 0
Два типа функций
    #38061464
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SheratonРазница между функциями и процедурами пошла из паскаля. В паскале функциями называют те, которые возвращают значение, если значение не возвращается, то это в паскале называется процедурой.
По поводу темы, предлагаю более канонические формулировки, вместо диковинных "грязных/чистых". Первая функцию можно назвать: "Функция возвращающая значение, но не меняющая значение своего аргумента", вторую функцию можно назвать: "Функция НЕ возвращающая значение, но меняющая значение своего аргумента".

а ещё есть третий тип, которая и возвращает значение и меняет значение своего аргумента. Например, возвращает код ошибки и текст ошибки в виде аргумента.
...
Рейтинг: 0 / 0
Два типа функций
    #38061531
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yatha
а ещё есть третий тип, которая и возвращает значение и меняет значение своего аргумента. Например, возвращает код ошибки и текст ошибки в виде аргумента.

Ну тогда уж и четвертая :)) которая и аргументы не меняет и значение не возвращает ))
...
Рейтинг: 0 / 0
Два типа функций
    #38061759
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть еще функции из которых управление не возвращается в вызывающий код :)
...
Рейтинг: 0 / 0
Два типа функций
    #38061779
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще примитивно-рекурсивные, частично-рекурсивные e.t.c.
...
Рейтинг: 0 / 0
Два типа функций
    #38061875
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyА есть еще функции из которых управление не возвращается в вызывающий код :)
и куда передаётся после отрабатывания функции?
...
Рейтинг: 0 / 0
Два типа функций
    #38061939
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YathaAnatoly MoskovskyА есть еще функции из которых управление не возвращается в вызывающий код :)
и куда передаётся после отрабатывания функции?
В обработчик исключений или например вообще никуда, в случае вызова exit().
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Два типа функций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]