• Насколько сейчас актуален c++ ?

    EndUser
    @EndUser
    :-D

    "Насколько сейчас актуальна формальная логика?"
    "Насколько сейчас актуальна алгебра?"
    "Насколько сейчас актуально знание офисных программ?"
    "Насколько сейчас актуально знание английского языка?"

    С/С++ актуальны всегда, как в чистом виде, так и в виде профессионального базиса. И не только С/С++.
    Ответ написан
    Комментировать
  • Как распределить выполнение m задач на n ядер (С++)?

    Вы наверно хотите реализовать Thread Pool? Тогда можете посмотреть в книжку C++ Concurrency in action, там есть пример простого Thread Pool, если ваши задачи не слишком маленькие, то его может оказаться достаточно. Если ваши задачи достаточно короткие то можете посмотреть на библиотеку Intel TBB, там где-то в недрах очень качественный пул потоков есть, возможно, это то что вам нужно.
    Ответ написан
    1 комментарий
  • Какой велосипед написать на с++ для закрепления изученного?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Непростое, но, как мне кажется, полезно задание:
    Напишите TCP сервер используя сокеты и системный вызов poll(select для windows). Примерный интерфейс показан ниже. Вероятно, удобнее писать под linux, хотя большой разницы быть не должно. Должно поддерживаться подключение нескольких клиентов (в качестве клиента можно использовать утилиту netcat). Если возьметесь, могу по ходу дела давать подсказки.
    typedef std::function<void(std::String const &, std::String const &, int)> on_msg_func_t;
    
    Class TcpStringServer
    {
    public:
    	void register_on_msg_func(on_msg_func_t const & func);
    	void start(int port);
    	void send_msg(std::string const &addr, int port, std::string const &msg);
    };
    
    void on_msg_func(TcpStringServer const & server, std::string const &msg, std::string const &addr, int port)
    {
    	server.send_msg("OK");
    	std::cout << (boost::format("message %s resivied from %s:%d") % msg % addr % port ).str();
            //std::cout << "message " << msg << "received from " << addr << ":" << port << "\n";
    
    }
    
    int main()
    {
    	TcpStringServer server;
    	server.register_on_msg_func(std::bind(on_msg_func, server, _1, _2, _3));
    	server.start(12345);
    }


    Возможное развитие:

    * простая сетевая игра, крестики нолики для начала
    * удаленная консоль (прообраз ssh)
    Ответ написан
    2 комментария