powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ненавижу итератор...
8 сообщений из 58, страница 3 из 3
Ненавижу итератор...
    #39304717
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbmaytonПро параметры-ссылки помнят все. Но надо еще вспомнить про рекурсию.с т.з. рекурсии нет разницы, как возвращать результаты. Или я тоже тебя не понял?
Я боюсь что мы друг друга не поняли. Нарисуй пожалуйста твой пример с возвратом трех параметров из фунции через ссылки
и я дополню твой пример своей мыслью.
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39304729
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
А можно вот этот пример дополнить этой же мыслью? ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void factorial(int n, int& res)
{
    if (n < 2) {
        res = 1;
    }
    else {
        factorial(n - 1, res);
        res *= n;
    }
}

...
int res;
factorial(5, res);
cout << res << endl;
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39304737
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky, это весьма неудачный пример расчета факториала.

Я по сабжу вообще скептически относился ко всем подобным "удачным" примерам рекурсии.
Но данный пример еще плох тем что он не safe-threaded. Но в любом случае данный
пример плох. С одним ссылочным аргументом или с тремя.
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39304767
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonпример плох
Пока получается что пример плох, потому что выясняется что рекурсия возврату по ссылке не помеха.
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39304798
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyТак вот жеухты, спасибо. А return{...} - это с++14? Хотя вроде бы инициализация листом была в C++11? В общем, у меня в 2013 не компилится, только make_tuple.
Код: plaintext
1.
auto [iVar, bVar, lVer] = funk(...);

std:tie есть, оказывается. Почти тоже самое
Код: plaintext
1.
std:tie(iVar, bVar, lVer] = funk(...);


maytonНо данный пример еще плох тем что он не safe-threadedя, конечно, новичок во всех этих с++-ных операциях, но мне кажется, что safe-threaded тут ни причём, тут ФП в чистом виде.
Нарисуй пожалуйста твой пример с возвратом трех параметров из фунции через ссылкину пусть будет так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
void factorial(int n, int& iRes, int& iDouble, int& iTrouble)
{
    if (n < 2) {
        iRes = 1;
    }
    else {
        factorial(n - 1, iRes, iDouble, iTrouble);
        iRes *= n;
        iDouble = 2 * iRes;
        iTrouble = 3 * iRes;
    }
}
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39305160
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbА return{...} - это с++14? Хотя вроде бы инициализация листом была в C++11? В общем, у меня в 2013 не компилится, только make_tuple.
Это С++11. Просто Студия 2013 видимо не все поддерживает.
CEMbчто safe-threaded тут ни причём
Конечно не причем. Там с потокобезопасностью все ок. mayton как обычно себе нафантазировал )))
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39305175
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, что вы спорите ?
Конечно, функциональное программирование в чистом виде (почти)невозможно в С++, особенно с использованием STL.
Потому что функции (алгоритмы STL) НЕ ВОЗВРАЩАЮТ свой результат.

Но ПСЕВДОфункциональное программирование, т.е. программирование с использованием функций высших порядков
и без использования императивного кода (if, while, for) для обработки данных вполне себе возможно.

Это нельзя назвать ФП, но элементы ФП в этом есть.
...
Рейтинг: 0 / 0
Ненавижу итератор...
    #39305198
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivРебята, что вы спорите ?
Это же очевидно - мы спорим про ненависть к итераторам )))
...
Рейтинг: 0 / 0
8 сообщений из 58, страница 3 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ненавижу итератор...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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