Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×
  • Идея для стартапа — открытый проект по робототехнике

    Звучит это всё немного наивно...Зачем вам для создания открытой платформы набирать команду людей и называть это стартапом (ближайшие 5 лет, я так понимаю, это не будет приносить никаких денег)? Гораздо логичнее (ИМХО) создать Open Source проект на каком-то sourceforge, и начать самому что-то делать. Если это действительно будет что-то стоящее то подтянутся знающие люди... да и те (они безусловно тоже могут быть знающими) которые сейчас полны энтузиазма смогут вносить свой вклад. В общем мне кажется вы не правильно позиционируюте эту идею.

  • Диспетчер сообщений

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

    if -else

    ), у такого подхода есть определенные преимущества, например, то что такой диспетчер обладает семантикой объекта.

    использование
    class Funct1
    {
    public:
        void operator()()
        {
            std::cout<<"Func1"<<std::endl;
        }
    };
    
    class Funct2
    {
    public:
        void operator()()
        {
            std::cout<<"Func2"<<std::endl;
        }
    };
    
    class Funct3
    {
    public:
        void operator()()
        {
            std::cout<<"Func3"<<std::endl;
        }
    };
    
    int main(int argc, char* argv[])
    {
        Switcher<TypeList<MsgFuncPair<1,Funct1>,TypeList<MsgFuncPair<3,Funct3>,NullType> > > swit;
        swit.DoThis(1);
        swit.DoThis(2);
        swit.DoThis(3);
        return 0;
    }
    
    Вывод:
    
    Func1
    Not found!
    Func3