Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/37: Рейтинг темы: голосов - 37, средняя оценка - 4.68
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607

std::is_invokable не работает для фунций членов

19.12.2019, 16:08. Показов 8029. Ответов 108
Метки нет (Все метки)

Это так и должно бытьили я чтото неправильно делаю ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2019, 16:08
Ответы с готовыми решениями:

Не работает std::cout || std::cin
#include "Account.h" #include <string> #include <iostream> using std::cout; Account :: Account(int startBalance) { ...

Операция std::cout для Объекта типа std::string
Кто детально объяснит почему не выводит ? Дает вот так "Отсутствует оператор "<<", соответствующий этим операндам" ...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

108
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 01:16  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
???

Процитированный вами отрывок говорит, что, например, lvalue типа void () можно [неявно] преобразовать к типу void (*)(). То есть к рассматриваемому вопросу он вообще никак не относится.

К функциям-нестатическим членам класса это тоже не относится никак. Функции-члены класса не имеют function type. Function type в С++ по определению имеют только самостоятельные функции.
Это сырая гипотеза. Я щас занят другим вопросом и предпочёл бы читать молча Вашу дискуссию с hoggy, но она зашла нетуда.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Прямое. Каждое сказанное мною до сих пор слово - прямая цитата правил языка С++.
Про размер указателей это вы лишнего хватили :-) Никогда небыло такого в стандарте и не будет.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 01:32
Цитата Сообщение от squareroot Посмотреть сообщение
Это сырая гипотеза.
Не совсем понял, что именно тут по-вашему является "сырой гипотезой".

Цитата Сообщение от squareroot Посмотреть сообщение
Про размер указателей это вы лишнего хватили :-) Никогда небыло такого в стандарте и не будет.
Вы выдумываете. Стандарт языка открытым текстом говорит, какие типы обязаны иметь одинаковые object representation. Все остальные типы, согласно стандарту, запросто могут иметь разные object representation. В том числе и размеры.

А дальше начинается реальная жизнь, т.е. то, что я назвал опытом.

И если мы знаем, что в реальной жизни указатели int * и void * скорее всего будут иметь одинаковые внутренние представления, мы в то же время знаем, что в реальной жизни указатели void (*)(Class *) и void (Class ::*)() будут иметь совсем разные внутренние представления, включая разные размеры.

http://coliru.stacked-crooked.... c6b9214136

Более того, мы прекрасно знаем, почему это так.

---

А когда опыта у вас будет еще больше, вы узнаете, что бывает такая экзотика, где и int * с void * имеют разные представления и даже разные размеры. "Есть многое на свете друг Горацио..."
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
21.12.2019, 01:56
Цитата Сообщение от squareroot Посмотреть сообщение
Почему не вполне законно ?
потому что нельзя просто так взять и скастить указатель-на-функцию-член к void*

у них sizeof может различаться.
могут быть ещё какие то противопоказания.


если тебе интересна эта тема, рекомундую: Указатели на функции-члены и реализация самых быстрых делегатов на С++.

а насчет стандарта:

Цитата Сообщение от squareroot Посмотреть сообщение
function type
"функция-член" - это не "функция".
"указатель-на-функцию-член" - не "указатель-на-функцию".


Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Я уже десять раз повторил, что полноценный указатель-на-член в любой корректной реализации
котёночек!
ты реально какой то трудный.

из того факта, что в каких то случаях sizeof может различаться никак не следует,
что преобразование невозможно.

в каких то случаях невозможно.
в каких то возможно.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 02:14
Цитата Сообщение от hoggy Посмотреть сообщение
в каких то случаях невозможно.
в каких то возможно.
Ну... Вчера работало, сегодня не работает

С одной стороны видно, что начинается "включение задней", т.е. постепенное прозрение наклевывается, но в остальном пока "как об стенку горох". Понимание архиважной фундаментальной разницы между преобразованием и реинтерпретацией еще даже на горизонте не засветилось...
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 02:41  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
потому что нельзя просто так взять и скастить указатель-на-функцию-член к void*

у них sizeof может различаться.
могут быть ещё какие то противопоказания.
И что с того ? Вы мыслите в рамках своих стереотпов. Вот представьте что разработчики придумали то что порвёт все ваши шаблоны.
А именно функциональный тип как категорию типов, у которых sizeof может быть разный, а на других вычислительных платформах, где нет такого разнообразия вариантов адрессации sizeof будет одинаковый и это будет тотже самый C++. Давайте не выходить за флажки.

Цитата Сообщение от hoggy Посмотреть сообщение
"функция-член" - это не "функция".
"указатель-на-функцию-член" - не "указатель-на-функцию".
Да типы разные а к чему это ? Я пример привел выдержки из стандарта для целой категории типов(которая включает и функции члены тоже), а не для отдельного типа. Если у вас функция член этот какаято отдельная категория, то давайте читать стандарт вместе.

Добавлено через 14 минут
Цитата Сообщение от hoggy Посмотреть сообщение
[URL="https://www.rsdn.org/article/cpp/fastdelegate.xml"]
Я уверен что никаких других ссылок, кроме ссылок на черновик стандарта Вам не требуется чтобы выразить свои мысли.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.12.2019, 03:19
Цитата Сообщение от squareroot Посмотреть сообщение
И что с того ? Вы мыслите в рамках своих стереотипов. Вот представьте что разработчики придумали то что порвёт все ваши шаблоны.
А именно функциональный тип как категорию типов, у которых sizeof может быть разный, а на других вычислительных платформах, где нет такого разнообразия вариантов адресации sizeof будет одинаковый и это будет тот же самый C++.
squareroot, знания содержат, в том числе стереотипы. Однако, неумение отличать стереотипы от остального, оставляет именно стереотипы. Они являются базой знания. Не мышления, а знания. О мышлении мы мало знаем, но много мыслим). То, что всё в информации есть "переинтерпретация", а лучше -интерпретация, вообще не удачный подход в теме приведений. Есть разные уровни интерпретации. Часть преобразований, вообще не интерпретирует представление. Оно конвертирует одно в другое на основе заложенных семантических правил. А указатели, это очень специфические типы. Как уже отметил TheCalligrapher, стандарт не гарантирует совпадение размера void* и char*. Что же касается указателей на методы, то там дескриптор может включать адресацию через промежуточные уровни. Например, доступ к виртуальным методам через указатель на базовый класс, а это значит, что запрос должен быть передан конкретному динамическому типу, а потом вычисляется адрес. То есть, схема указания адреса на метод класса в такой же степени похожа на указатель на"обычную свободную функцию" , в какой обычная функция - массив байт. Сравнение с С тут не к месту.
Думаете зря придуман такой вид упаковки вызова в объект как std::function+std::bind ? Создание функционального объекта будь оно хоть лямбда хоть биндинг, это же дополнительные расходы. Но это выход для получения универсального способа обобщения "вызываемого" объекта.
зы. Прощу у всех прощения за выступление в "лёгком весе". Не спится.
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 03:26  [ТС]
Хотя нет, должен признать всётаки разные категории семейство типов функций и нестатических членов. Но в остальном прошу вести дискуссию в рамках правил языка.

Добавлено через 6 минут
Цитата Сообщение от IGPIGP Посмотреть сообщение
squareroot, знания содержат, в том числе стереотипы. Однако, неумение отличать стереотипы от остального, оставляет именно стереотипы. Они являются базой знания. Не мышления, а знания. О мышлении мы мало знаем, но много мыслим). То, что всё в информации есть "переинтерпретация", а лучше -интерпретация, вообще не удачный подход в теме приведений. Есть разные уровни интерпретации. Часть преобразований, вообще не интерпретирует представление. Оно конвертирует одно в другое на основе заложенных семантических правил. А указатели, это очень специфические типы. Как уже отметил TheCalligrapher, стандарт не гарантирует совпадение размера void* и char*. Что же касается указателей на методы, то там дескриптор может включать адресацию через промежуточные уровни. Например, доступ к виртуальным методам через указатель на базовый класс, а это значит, что запрос должен быть передан конкретному динамическому типу, а потом вычисляется адрес. То есть, схема указания адреса на метод класса в такой же степени похожа на указатель на"обычную свободную функцию" , в какой обычная функция - массив байт. Сравнение с С тут не к месту.
Думаете зря придуман такой вид упаковки вызова в объект как std::function+std::bind ? Создание функционального объекта будь оно хоть лямбда хоть биндинг, это же дополнительные расходы. Но это выход для получения универсального способа обобщения "вызываемого" объекта.
зы. Прощу у всех прощения за выступление в "лёгком весе". Не спится.
Попробую ещё раз объяснить. Пофигу какие там дескрипторы, размеры указателей. Язык C++ это абстракция от аппаратуры, и тут форум по языку C++, а не про системное программирование, тема про Си++, а не про то какие есть варианты ассемблерной инструкции call, отличия прямой и косвенной адрессации. Любые доказательства из системного программирования ИМХО некорректные.
Всё остальное я готов слушать и матать на ус у тутошних карифеев.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
21.12.2019, 03:51
Цитата Сообщение от squareroot Посмотреть сообщение
Попробую ещё раз объяснить. Пофигу какие там дескрипторы, размеры указателей. Язык C++ это абстракция от аппаратуры, и тут форум по языку C++, а не про системное программирование, тема про Си++, а не про то какие есть варианты ассемблерной инструкции call, отличия прямой и косвенной адрессации. Любые доказательства из системного программирования ИМХО некорректные.
squareroot, вы думаете, что сужающее преобразование с потерей информации (if any), имеет что-то общее с уровнем ручного байтоконструирования? Есть указатель и указатель, - два типа. Один в другом не помещается. Причём, не помещается источник в приёмнике. Это или понятно или нет. Какие могут быть домыслы? Кто-то создаст такие указатели, что смогут поглотить любой указатель на метод? А как же быть с принципом - не плачу за то, что не использую?
Цитата Сообщение от squareroot Посмотреть сообщение
Всё остальное я готов слушать и матать на ус у тутошних карифеев.
Тут пишут для всех. Вы можете быть не готовы, а может и будете. Но это вопрос времени.
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 03:55  [ТС]
Цитата Сообщение от IGPIGP Посмотреть сообщение
squareroot, вы думаете, что сужающее преобразование с потерей информации (if any), имеет что-то общее с уровнем ручного байтоконструирования? Есть указатель и указатель, - два типа. Один в другом не помещается. Причём, не помещается источник в приёмнике. Это или понятно или нет. Какие могут быть домыслы? Кто-то создаст такие указатели, что смогут поглотить любой указатель на метод? А как же быть с принципом - не плачу за то, что не использую?

Тут пишут для всех. Вы можете быть не готовы, а может и будете. Но это вопрос времени.
Когда я пишу на плюсах я не должен думать что один указатель не поместиться в другой, это проблема компилятора. Если мне надо об этом думать, то первым делом надо выкинуть плюсы в окно и начинать писать на Си или даже на ассемблере.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 04:10
Цитата Сообщение от IGPIGP Посмотреть сообщение
Как уже отметил TheCalligrapher, стандарт не гарантирует совпадение размера void* и char*.
Ну здрасьте! Как раз таки совпадение представлений void * и char * стандарт гарантирует (!). Я вел речь о void * и int *.

Цитата Сообщение от IGPIGP Посмотреть сообщение
Например, доступ к виртуальным методам через указатель на базовый класс, а это значит, что запрос должен быть передан конкретному динамическому типу, а потом вычисляется адрес. То есть, схема указания адреса на метод класса в такой же степени похожа на указатель на"обычную свободную функцию" , в какой обычная функция - массив байт.
Кстати, хороший пример. Я когда-то с удивлением обнаружил, что при указании на виртуальные методы реализация GCC хранит в указателе-на-метод не адрес метода, и индекс в таблице виртуальных функций. То есть в такой ситуации в GCC никакого адреса внутри такого указателя не хранится вообще. И, понятное дело, выцарапывать что-либо оттуда через переинтерпретауию памяти - бесполезно.
1
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 04:11  [ТС]
Итак что мы имеем. Есть стандартное преобразование из ссылки на функциональный тип в указатель на функциональный тип.
Есть прецентент из практики когда идёт преобразование из ссылки на функцию член в указатель на функцию член. Всё так ? Ничего не перепутал. Задача понять природу этого явления. Так ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 04:26
Цитата Сообщение от squareroot Посмотреть сообщение
Итак что мы имеем. Есть стандартное преобразование из ссылки на функциональный тип в указатель на функциональный тип.
Не из ссылки, а из из lvalue функционального типа в указатель на функциональный тип. С оговоркой, открытым текстом прямо в стандарте, что lvalue функционального типа можно получить только для обычных функций. Это то самое преобразование, которое позволяет вам писать

C++
1
void (*p)() = foo;
без явного применения оператора & к функции.

Никакого отношения к членам класса это преобразование не имеет. Этот вопрос я уже полностью закрыл раньше. Давайте не будем устраивать тут "сказку про белого бычка".

Цитата Сообщение от squareroot Посмотреть сообщение
Есть прецентент из практики когда идёт преобразование из ссылки на функцию член в указатель на функцию член.
Нет, такого прецедента нет. То, что вы написали буквально - это вообще какой-то оксюморон. В языке С++ явным образом запрещены "ссылки на функцию член".

Цитата Сообщение от squareroot Посмотреть сообщение
Всё так ? Ничего не перепутал. Задача понять природу этого явления. Так ?
"Понять природу неопределенного поведения" - бессмысленная трата времени. Это при том, что пару сообщений выше вы пытались рассказывать, что ведете речь только о языке С++, а не о системных особенностях. А здесь вдруг речь зашла о явлении, которое однозначно запрещено языком С++ и держится на системной случайности. Что за странная смесь?
1
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 04:34  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Не из ссылки, а из из lvalue функционального типа в указатель на функциональный тип. С оговоркой, открытым текстом прямо в стандарте, что lvalue функционального типа бывает только для обычных функций. Это то самое преобразование, которое позволяет вам писать

C++
1
void (*p)() = foo;
без явного применения оператора & к функции.

Никакого отношения к членам класса это преобразование не имеет. Этот вопрос я уже полностью закрыл раньше. Давайте не будем устраивать тут "сказку про белого бычка".
Да, всё так как Вы говорите, только мне самому пришлось лезть в стандарт, когда начитался про то как много воды налили из системного программирования

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Нет, такого прецедента нет. То, что вы написали буквально - это вообще какой-то нонсенс. В языке С++ явным образом запрещены "ссылки на функцию член".
Я потому и говорю про прецендент из практики, которому сложно найти объяснение в рамках правил Си++. Зачем к словам придираться ?
Надо было просто както назвать его.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
"Понять природу неопределенного поведения" - бессмысленная трата времени. Это при том, что пару сообщений выше вы пытались рассказывать, что ведете речь только о языке С++, а не о системных особенностях. А здесь вдруг речь зашла о явлении, которое однозначно запрещено языком С++ и держится на системной случайности. Что за странная смесь?
Нет не странная. Задача ведь не понять как под копотом, а задача понять чем руководствовались разработчики компиляторов, когда оставляли такую "бреш".
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 04:52
Цитата Сообщение от squareroot Посмотреть сообщение
а задача понять чем руководствовались разработчики компиляторов, когда оставляли такую "бреш".
Не понял. О какой "бреши" вы говорите? Язык С++ не запрещает вам прямой доступ к сырой памяти ни по чтению, ни по записи. Эта "брешь" всегда была и будет частью языка.

А когда у вас есть прямой доступ к сырой памяти, вы можете копировать эту сырую память из одного места в другое, либо через memcpy, либо через переинтерпретацию+присваивание (как это было сделано здесь). Копированием байтов из одного места в другое вы можете "собирать" из разрозненных байтов бессмысленных монстров какой-угодно степени монструозности. Поведение таких монстров, разумеется, не определено.

Не надо жаловаться на таких монстров, если вы сами их собрали. Язык тут ни в чем не виноват.

А называть такое копирование сырой памяти преобразованием - это уже профанация. Термин преобразование в С++ уже занят и означает он совсем другое.
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 04:59  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Не понял. О какой "бреши" вы говорите? Язык С++ не запрещает вам прямой доступ к сырой памяти ни по чтению, ни по записи. Эта "брешь" всегда была и будет частью языка.

А когда у вас есть прямой доступ к сырой памяти, вы можете копировать эту сырую память из одного места в другое, либо через memcpy, либо через переинтерпретацию+присваивание (как это было сделано здесь). Копированием байтов из одного места в другое вы можете "собирать" из разрозненных байтов бессмысленных монстров какой-угодно степени монструозности. Поведение таких монстров, разумеется, не определено.

Не надо жаловаться на таких монстров, если вы сами их собрали. Язык тут ни в чем не виноват.

А называть такое копирование сырой памяти преобразованием - это уже профанация. Термин преобразование в С++ уже занят и означает он совсем другое.
Впринцепи согласен, посколько явное приведение типа относится к небезопасным преобразования, то последствия в виде UB это проблема разработчика, но вот что интересно. Если в результате такого шаманства появляется тип, который запрещён правилами,то это уже интересно.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 05:03
Цитата Сообщение от squareroot Посмотреть сообщение
Если в результате такого шаманства появляется тип, который запрещён правилами,то это уже интересно.
Не надо путать обычные повседневные случайные проявления неопределенного поведения с неким монументальным "появлением типа, который запрещён правилами".
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 05:07  [ТС]
Не это правда интересно, что будет если сделать declval(*((Free*)proxy)), а потом этот тип заюзать в декларативном языке шаблонов.
Надо попробовать свести с ума компилятор.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 05:19
Цитата Сообщение от squareroot Посмотреть сообщение
Не это правда интересно, что будет если сделать declval(*((Free*)proxy)), а потом этот тип заюзать в декларативном языке шаблонов.
Не понял. Что такое declval(*((Free*)proxy)). О чем речь вообще? Или вы имеете в виду decltype?

Когда вы написали про "появление типа, который запрещён правилами", я подумал, что вы оговорились, и речь идет о появлении значения, которое запрещено правилами. Никакого типа "который запрещен правилами", пока что нигде тут не появлялось.

Тип decltype(*((Free*)proxy)) - это просто Free &. В этом типе нет ничего необычного или запрещенного. О чем вы?
0
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
21.12.2019, 05:23  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Не понял. Что такое declval(*((Free*)proxy)). О чем речь вообще? Или вы имеете в виду decltype?

Когда вы написали про "появление типа, который запрещён правилами", я подумал, что вы оговорились, и речь идет о появлении значения, которое запрещено правилами. Никакого типа "который запрещен правилами", пока что нигде тут не появлялось.

Тип decltype(*((Free*)proxy)) - это просто Free &. В этом типе нет ничего необычного или запрещенного. О чем вы?
да, всё верно decltype. выражение decltypel(*((Free*)proxy)) какой тип даст ? Free & это что ? ссылка на указатель на функцию член, если сам по себе тип Free это указатель на функцию член ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
21.12.2019, 05:26
Цитата Сообщение от squareroot Посмотреть сообщение
decltypel(*((Free*)proxy)) какой тип даст ? Free & это что ссылка на указатель, если сам по себе Free указатель на функцию член ?
Да, это обычная ссылка на указатель. Ничего необычного или "запрещенного" в ссылке на указатель нет. То, что это "указатель на функцию член" никакой роли не играет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.12.2019, 05:26

std::string код работает в VS 6.0, но не работает в VS2012 (error C4996)
Как изменился синтаксис в Visual Studio 2012 данной строки? В VS 6.0 работает, в 2012 - нет. Кто подскажет, где можно взять список...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

STL std::set, std::pair, std::make_pair
Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы. Собственно перейдем к нашим баранам: есть...

Для заданной матрицы найти такие k и n, что сумма членов k-го столбца совпадает с суммой членов n-й строки
Нужно написать фрагмент кода: Для заданной матрицы размера NхN найти такие k и n, что сумма элементов k-столбца матрицы совпадает с...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru