Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549

Указатель указателя или Наследовать

14.08.2020, 12:42. Показов 9249. Ответов 111
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здесь
я вот тоже подумала (про своих баранов) - если у меня 2 thread'a (gui и secondary) и в secondary задан классом (как здесь), в котором работает функция, которая отдаёт массив в класс, ход обработки массива методом этого (куда отдаёт) класса - отразить в gui хочется... !?!
вот передаю указатель на Form из класса gui в класс secondary worker thread... (как по примеру #222)
а дальше?..
указатель на указатель параметром в др класс передавать? (что-то не проходит)?
передаю банально:
C++
1
2
3
4
5
6
public:
    const Vector<Vector<String>> & m_vUrls;
    MyAppWindow* m_pw;
    
    // Constructor  
    loadV(const Vector<Vector<String>>& spisok, MyAppWindow* m_pw);
ну или **
как не пытаюсь передать указатель на указатель или тот же указатель на gui в др класс - выдаёт, что инициализация gui возможна только в первичном потоке...
- а ведь только передать хочу указатель на то, что уже было проинициализировано в первичном потоке... т.е. на сам gui
ИЛИ ???
может, мне лучше наследовать 2-й класс (loadV) от класса worker и в нём поле "принятый из gui указатель" сделать protected?
(чтобы не заморачиваться передачей указателя на gui и уж тем более транслированием в gui поток из класса, куда передаём массив после его сбора в классе worker - который во вторично потоке от gui)...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.08.2020, 12:42
Ответы с готовыми решениями:

Сохранить адрес из указателя в другой указатель, а потом первый указатель удалить
Добрый день всем. Возмём простейший пример: #include &lt;iostream&gt; using namespace std; int main() { int* p1 = new...

Передача умного указателя в функцию принимающую указатель на указатель
Итак имеется функция со следующим параметром: HRESULT __stdcall Function(SomeClass **param); В случае, когда создаём обычный...

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

111
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
16.08.2020, 12:19  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
Абстрагировать MainWindow от Worker`а обычно не надо (потому что GUI (MainWindow) отображает данные, которые предоставляет Worker - связь естественная

я пока и остановилась на предыдущем варианте Архитектуры
- GUI со вторичным потоком в нём для void work()...
при смене GUI - правки в void work() всё равно делать надо будет на новый gui... чем гнать всё это через люмбду/функтор - инапрямую можно будет подправить == просто удобную разметку для себя в комментах набросать в проекте... чтобы при возврате свежим взглядом видеть сразу всё - где что зацепить надо...
а при смене void work() - вообще просто новый void work() вставить - на случай рефакторинга...
Цитата Сообщение от DrOffset Посмотреть сообщение
Поэтому лямбда может быть только у Worker`а, что снижает "сложность", которую вы отметили.
но про функтор ещё подумаю - про снижение сложности для меня
===
протранслировать асинхронную подгрузку из вторичного потока (когда в класс направляется вектор всех) - тоже задача неахти - чтобы не останавливать рабочий поток, пока он синхронизируется с gui по тем линкам, которые уже загружены... но если проход по шагам подгрузки resumable - то может полУчиться... пока пробую
== =
Основная цель вопроса ветки:
воспользоваться удобной архитектурой для того, чтобы протранслировать background asyncLoading в gui из вторичного потока (но не из него, а инстанса отдельного класса в нём)...
(ну хоть разобрались нужен ли указатель на указатель или наследование класса asyncLoad от класса Worker - НЕТ)...
Подумаю ещё - как сам класс asyncLoad разработать - чтобы не на скорую руку, а с удобствами... имхо (может, и не во всей архитектуре дело, а только в начинке этого класса - чтобы из его методов-членов не транслировать?)

Добавлено через 9 минут
а всё-таки возвращать в void work() и оттуда обычным Postcallback... при этом чтобы нормально эти, как их, точки прерывания (условно) не сбивались и, действительно, могли выполнять свою resumable природу?... сокет то один!... но это тоже как-то со скрытыми проблемами и возможностями (точнее их отсутствием) связано...
поэтому ещё подумаю, как сделать красиво, читаемо (т.е. сопровождаемо) и репрезентабельно в gui (чтобы всё не молчало, пока все грузятся)

Добавлено через 4 минуты
Цитата Сообщение от JeyCi Посмотреть сообщение
GUI со вторичным потоком в нём для void work()...
значит, это и есть нормальный View с Controller'ом (в смысле с main()-ом), а Model - это всё-таки сервер, с которого взять надо... имхо... и вид в котором он отдаёт

Добавлено через 5 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
.NET cравнивать можно с Qt, где механизм разделения абстракций тоже уже представлен сигналами-слотами.
Если же вы руками реализуете что-то, то будет сложнее на любом языке.
Да и пример выше - это иллюстрация. В ваших силах повысить выразительность, если это и правда требуется.
надеюсь, что на данном этапе не требуется... допилю, как есть подручными средствами - чисто ради скорости...
и всё равно c++ больше нравится, чем NET - не люблю зависить от чужих библиотек (и JIT-компиляции)... про Qt - убедили, предоставив убедительный аргумент
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
17.08.2020, 18:02  [ТС]
Цитата Сообщение от JeyCi Посмотреть сообщение
(но не из него, а инстанса отдельного класса в нём)...
ну нет, так нет... хотя паттерн Наблюдатель(Observer) ещё можно посмотреть...

Добавлено через 3 минуты
P.S.
Цитата Сообщение от JeyCi Посмотреть сообщение
возвращать в void work() и оттуда обычным Postcallback...
банально
WorkerThread.cpp

C++
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
#include "MyAppWindow.h"
#include "WorkerThread.hpp"
#include "loadV.hpp"
 
void WorkerThread::Start (MyAppWindow* pw)
{    
    m_pw=pw;
    PostCallback([&]{   
        m_pw->btnLoad.Disable();
    });
    m_tWorker.Run ( [=]{this->Work();} ); 
};
 
void WorkerThread::Work ( )
{   
    const Vector<String>&  MyVector = {"A","B","C","D"};
    loadV d(MyVector);
    Vector<String> retVector=d.showDone();
    
    {
        GuiLock __;
        size_t n=retVector.GetCount();
        for(int i = 0; i < n; i++) {
            String s=retVector[i];  
                m_pw->arrV.Add(s);  
        }
     }
    
    PostCallback([=] { 
        m_pw->btnLoad.Enable();
    }); 
}

loadV.hpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef _loadV_loadV_hpp
#define _loadV_loadV_hpp
 
class loadV {   
public:
    const Vector<String>& m_spisok;
        
    // Constructor  
    loadV(const Vector<String>& spisok); 
    // Destructor   
    ~loadV(); 
    
    Vector<String>  showDone();
};
 
#endif

loadV.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "MyAppWindow.h"
#include "loadV.hpp"
 
loadV::loadV(const Vector<String>& m_spisok):m_spisok(m_spisok) {
}
 
loadV::~loadV() {}
 
Vector<String> loadV::showDone() { 
    Vector<String> temp;
    size_t n=m_spisok.GetCount(); 
    for(int i = 0; i < n; i++) {
        String s=m_spisok[i];
         temp.push_back(s);
    }
    return temp;
}


Добавлено через 22 минуты
хотя по скорости, конечно, принтовать каждую строку отдельно в цикле - тоже не очень может быть... вобщем, дальше по ситуации
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
17.08.2020, 18:20
Цитата Сообщение от JeyCi Посмотреть сообщение
GUI со вторичным потоком в нём для void work()...
ГУИ всё равно рисуется OpenGL'ом, так что для него всё равно будет один поток (но конечно же с асинхронной обработкой эвентов, которые независимо добавляются в свою очередь, вокруг которой собственно поток ГУИ и вертится). Максимум что можете сделать - выделить первичную обработку данных в отдельный поток, и перекидывание результатов обработки в основной поток с помощью очереди или(если не все результаты требуют выведения на экран)атомарных переменных.

Добавлено через 4 минуты
Цитата Сообщение от JeyCi Посмотреть сообщение
background asyncLoading в gui из вторичного потока
сигнал с данными во вторичном потоке + слот в ГУИ (обрабатывающий пересылаемые данные) + соединение по Qt::QueuedConnection .
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
17.08.2020, 18:21  [ТС]
так об этом и шла речь
пока не про Qt, в U++ только callbacks и свои варианты синхронизации с gui
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
17.08.2020, 18:22
(правда для того, чтоб такое сработало, во вторичном потоке тоже должна происходить обработка очереди событий)
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
17.08.2020, 18:23  [ТС]
но спасибо за схему дизайна в Qt
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
17.08.2020, 18:35

Не по теме:

Цитата Сообщение от JeyCi Посмотреть сообщение
пока не про Qt
извиняюсь, думал речь о ней.


Но в любом случае - делать вызов ГУИ во вторичном потоке как в вашем случае ( m_pw->btnLoad.Enable(); в Worker'е) не будет иметь почти никакого смысла в плане производительности .

Добавлено через 3 минуты
+ потеря времени на переключения при вызове GuiLock __; который определённо сработает как мьютекс, заставляя дожидаться потока, в котором в данный момент продолжается обработка ГУИ.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
17.08.2020, 18:46  [ТС]
вот скажите ещё, please, кто-нибудь - а как с этим делом в Visual Studio?.. удобнее, чем Qt или Qt самый удобный по взаимодействию gui и вторичного (т.е. рабочего) потока ?
WPF видела - обкатать не рискнула пока (вопрос времени был)
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
17.08.2020, 18:56
Цитата Сообщение от JeyCi Посмотреть сообщение
и вторичного (т.е. рабочего) потока ?
В данном случае реализация рабочего потока отсутствует, а имеется попытка распараллелить работу ГУИ, что не есть хорошая идея.
1
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
17.08.2020, 19:43  [ТС]
Цитата Сообщение от TRam_ Посмотреть сообщение
имеется попытка распараллелить работу ГУИ, что не есть хорошая идея.
как раз gui выполняется сам по себе, рабочий сам по себе... раньше по ветке выкладывала архив проекта... вы вероятно не посмотрели... хорошая-нехорошая -- но gui не виснет и цель достигнута... в U++ не вижу др. соответствующих этой цели инструментов... выполнение в основном потоке с использованием ProcessEvents(); не проверяла ещё
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
17.08.2020, 20:08
Цитата Сообщение от JeyCi Посмотреть сообщение
вот скажите ещё, please, кто-нибудь - а как с этим делом в Visual Studio?.. удобнее, чем Qt или Qt самый удобный по взаимодействию gui и вторичного (т.е. рабочего) потока ?
Как я уже говорил выше, принципы везде одинаковые. Всегда есть некая очередь, в которую могут уходить запросы на изменение GUI из вторичных потоков.

PS. Qt - это framework, его можно использовать и из Visual Studio.
1
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
18.08.2020, 12:47  [ТС]
вот помню совет от GoshaM здесь про паттерн Команда
Цитата Сообщение от GoshaM Посмотреть сообщение
Да и не актуально это сейчас, когда есть function (Function в U++) и лямбда-выражения.
наверно этот совет можно отнести и к паттерну Наблюдатель?..
тогда понятно, почему в начале этой ветке рекомендация использовать класс(функтор), как, вероятно, самый оптимальный (короткий) вариант для реализации опосредованного взаимодействия с gui... ну если фвеймворк самой ide не даёт своих вариантов этого вида взаимодействия (как например в U++) и захочется как-то писать свою реализацию...

Добавлено через 12 минут
p.s.
Цитата Сообщение от TRam_ Посмотреть сообщение
В данном случае реализация рабочего потока отсутствует
полистаю на досуге:
Организация рабочих потоков: управление состоянием движка

Добавлено через 1 час 18 минут
p.p.s.
ввсё-таки стоит различать Software Architecture и Design Patterns (переход по external links отсюда обязателен)... потом остановится на Event-based, Implicit Invocation (по моей задаче)... потом остановиться на выборе Фреймворка... когда-нибудь найти время на него перейти...
p.p.p.s/
mvc - лишь просто популярный design pattern для настройки связи между компонентами при компонентно-ориентированном программировании... имхо
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
18.08.2020, 14:06  [ТС]
Цитата Сообщение от JeyCi Посмотреть сообщение
m_pw то туда вообще не передала...
однако... присмотрелась ещё раз к примеру от GoshaM здесь - всё-таки проверила - из класса ответ пришёл в gui ...
(архив проекта-теста работающего прилагаю)
p.s.
хотя по фэн-шую "подписчика на event'ы" не помешает научиться организовывать...
p.p.s.
есть какой-то пример на U++ : which allows monitoring a folder and its sub-folders for file changes.
Вложения
Тип файла: zip mvDecompose3.zip (3.9 Кб, 3 просмотров)
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
18.08.2020, 15:40  [ТС]
btnStop - убрать, закомментировать - ещё не обрабатывала его

Добавлено через 1 час 21 минуту
хотя Observer pattern - пока излишне, т.к. его цели:
What problems can the Observer design pattern solve?​
The Observer pattern addresses the following problems:
> A one-to-many dependency between objects should be defined without making the objects tightly coupled.
> It should be ensured that when one object changes state an open-ended number of dependent objects are updated automatically.
> It should be possible that one object can notify an open-ended number of other objects.
0
19.08.2020, 01:03

Не по теме:

Цитата Сообщение от JeyCi Посмотреть сообщение
по фэн-шую
По фэн-шую, прислушаться к совету DrOffset и перейти от работы с указателем на GUI, к работе с Function

0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
19.08.2020, 16:40  [ТС]

Не по теме:

Цитата Сообщение от DrOffset Посмотреть сообщение
MyVector - локальная ссылка может быть? Обсуждали ранее о времени жизни и висячих ссылках.
вот оставлю себе нюанс от U++ - Passing containers to callbacks using pick / clone



Цитата Сообщение от GoshaM Посмотреть сообщение
По фэн-шую, прислушаться к совету DrOffset и перейти от работы с указателем на GUI, к работе с Function

Цитата Сообщение от DrOffset Посмотреть сообщение
Внутри функтора есть состояние (захваченный контекст), которое держит указатель на GUI и в котором кодируются необходимые операции, локи и т.п.
ну я, конечно, всё ещё думаю...
Цитата Сообщение от DrOffset Посмотреть сообщение
Суть: Worker вызывает функтор, который ему передали, например, в конструкторе.

Цитата Сообщение от DrOffset Посмотреть сообщение
к слову. Абстрагировать MainWindow от Worker`а обычно не надо
Добавлено через 6 минут
вот хороший маленький пример -
НО чувствую проблемы со временем жизни... если делать прямо в лоб:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void loadV::showDone() { 
 
    size_t n=m_spisok.GetCount(); 
    for(int i = 0; i < n; i++) {
        String s=m_spisok[i];
        {
            GuiLock __; 
            Ctrl::Call([=] {
                MyAppWindow w;
                std::function<void(MyAppWindow&, String)> f = &MyAppWindow::AddItem;            
                PromptOK(s);
                f(w, s);        // GUI widgets cannot be initialized in non-man thread without GuiLock => всё поместила под GuiLock... ???
            });
        }       
    }
}
при имеющемся
C++
1
2
3
4
5
void MyAppWindow::AddItem(String strItem)
{
    //GuiLock __;   // логично бы здесь лочить ?
    arrV.Add(~strItem); 
}
логично бы здесь лочить ?
Вложения
Тип файла: zip mv_Without_Decompose.zip (4.2 Кб, 0 просмотров)
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
19.08.2020, 16:47
JeyCi, важен контекст захвата.

В вашем случае вы как бы говорили: "мой класс знает класс из GUI и зависит от него - реализуется с использованием".

В том варианте, который был предложен, ничего такого не утверждается. Ваш класс в этом случае зависит от черного ящика.

Контроллер передает черный ящик, в котором содержится контекст GUI. При этом передача эта локализована только контроллером, ее просто найти и заменить. Архитектура масштабируется через изменение контроллера, который обычно простой и маленький, а не через изменение логической части. Это всегда проще.

Добавлено через 44 секунды
JeyCi, не на том, короче, вы жирным шрифтом внимание акцентируете совсем.

Добавлено через 2 минуты
JeyCi, чем меньше у вас точек соприкосновения двух потоков, тем более надежная у вас получится программа. Именно поэтому в сложных системах используется Event-Driven архитектура. Точка соприкосновения в методе добавления события в очередь и в методе его извлечения. Больше никаких блокировок нет.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
19.08.2020, 17:02  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
В том варианте, который был предложен, ничего такого не утверждается.
да я заметила - спасибо за пример... думаю сейчас про вариант с бОльшей практической ценностью, чем обучающей... чтобы не перестараться с декомпозицией (оставить worker'а как thread класса MyWin ? и при этом попробовать зарядить куда-нибудь функтор )...

Добавлено через 4 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
чем меньше у вас точек соприкосновения двух потоков, тем более надежная у вас получится программа.
да, мне понравилась цитата отсюда
Проблемы с занятым ожиданием / блокировкой являются результатом ужасного дизайна, и «правильное» решение — исправить конструкцию, а не перевязать ее.
аналогично - про GuiLock'и (в большом количестве)...

Добавлено через 5 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
Именно поэтому в сложных системах используется Event-Driven архитектура.
и соответствующий Фреймворк, полагаю, и пример по Qt отсюда...
знаю, но ещё не созрела для переезда...

Добавлено через 3 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
Архитектура масштабируется через изменение контроллера, который обычно простой и маленький, а не через изменение логической части
вот это, конечно идея!
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
19.08.2020, 19:44
Цитата Сообщение от DrOffset Посмотреть сообщение
Точка соприкосновения в методе добавления события в очередь и в методе его извлечения.
Причём в случае двухстороннего обмена очередей две (в две стороны).
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
19.08.2020, 23:04  [ТС]
всё... поняла...
хочу абстракцию => делаю её реализацию...
беру в оборот её инстанс => могу(должна) использовать его (или reference или pointer на него)... поэтому в #36 без этого никак (время жизни window никакое в др классе)...
===
пишу 2 и более абстракции => могу сделать и использовать одну функтором (объектом-функцией) для другой (других)... но чтобы использовать этот объект (функцю) => его абстракцию (т.е. класс) и должна оформить (сделать реализацию) передачей функции в конструктор... чтобы иметь возможность создать инстанс объекта-функции... наверно, можно ещё, как альтернатива, и просто пронаследовать от std::function...
как-то так...
ой не хочу усложнять пока... но функтор на самого себя (как хотела попробовать в #36) - глупая идея так зациклить input и output на один класс (т.к. сам объект-функция, как минимум, должен быть отдельным классом. ну или классом из std)...
===
просто в vba, pq, sql не создавала классы и уж тем более сами приложения...
всем спасибо!! за введение и практические примеры для целей вникнуть в тему построения системы (программного продукта) ... и за любой сложности tips & tricks на будущее

Добавлено через 7 минут
Цитата Сообщение от TRam_ Посмотреть сообщение
В данном случае реализация рабочего потока отсутствует, а имеется попытка распараллелить работу ГУИ, что не есть хорошая идея.
тоже приму на заметку... но у меня пока простенькая система будет...

Добавлено через 20 минут
P.S.
захватить [this] в workerthread() попробую завтра... чтобы попробовать в лямбде поработать с классом loadV...
здесь
Назначение лямбды тоже, что и функтора, т. е. передача алгоритму определенных параметров поведения.
Добавлено через 5 минут
хотя она всё-таки анонимная функция(-объект)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2020, 23:04

Необходимость указателя на указатель
Добрый день. Не могу разобраться, подскажите пожалуйста для чего в нижеприведенном методе(занесение узлов в двоичное дерево) используется...

Разыменование указателя на указатель
в функцию передается указатель на указатель класса, что бы получить доступ к методам класса нужно разименовать указатель так ? MyClass...

Инкремент указателя на указатель
Добрый день!!! Ребят, подскажите пожалуста, как выполнить инкремент указателя на указатель. Программа аварийно завершается. Я так понимаю,...

Передача указателя на указатель в функцию
Вопрос к знатокам: Есть абстрактный класс(Symbol) и его производный (Cross). Создаю указатель этого абстрактного класса(Symbol *first) ,...

Передача в функцию указателя на указатель
Добавление нового элемента в начало списка: void Add_Beg(List **u, Data &amp;x) // Почему в 1 аргументе функции указатель на указатель? { ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru