• В C++ есть TCP и UDP?

    RabraBabr
    @RabraBabr
    В принципе в стандартной библиотеке ничего нет, но можно попробовать boost Asio.
    Написано
  • Как практиковаться в программировании?

    RabraBabr
    @RabraBabr
    Евгений Шатунов, Вы его перепугаете. Человек слабо понимает во что хочет ввязаться. Он не понимает, что ему годами нужно будет учиться. Что учиться придется по сути всю жизнь. Что придется полюбить учиться. Что два года школьной математики это фигня по сравнению с тем объемом знаний который нужно ему усвоить. Что выпускники ВУЗ'ов на порядок больше знают и умеют, но и из них, только небольшой процент доберется до профессии. Что бы научится, что то сносно делать в клиентской части на плюсах нужно не один год. А в библиотечной разработке и еще больше. А у него около нулевая база и совершенно отсутствует роадмап как все это получить.

    З.Ы. Но есть и хорошие новости. Условные формошлепы тоже вроде еще нужны. Занятие это в целом бесхитростное, а остальное можно постепенно углубить по ходу работы. Но C++ в общем это не тот инструмент, который ему поможет в этом деле.
    Написано
  • Как практиковаться в программировании?

    RabraBabr
    @RabraBabr
    Meised, просто ваш вопрос пересекается с этим Обучение C++ на Linux, VS code? там же в коментах и моя история. Но очевидно если это вам не подходит, вам придется искать другой путь. При ваших вводных я бы обратил внимание вот на что.

    А так ли вам нужен c++? Очень сложный, просто огромный язык (тут одного стандарта несколько тысяч страниц), в котором куча UB, все которые даже сеньер проработавший много лет и не помнит. Я например только чуйкой понимаю, что вот так делать не надо. Я не знаю, что там в коде не так. Но просто не надо так делать и все.

    Может стоит посмотреть в сторону фронтенда. Ну там html, css, javascript это все намного проще, + писать можно прямо в блокнотике. Кроме браузера по сути ничего и не надо. Потом поучить новомодный молодежный фреймворк и и почти все готово.

    Задумайтесь об этом. Зачем вам C++ то?
    Написано
  • Как практиковаться в программировании?

    RabraBabr
    @RabraBabr
    Meised, А в вашем возрасте не проще всего поступить в профильный нормальный, повторюсь нормальный ВУЗ где есть программа обучения и вас всему научат? Это конечно не дает гарантий, но сильно все упрощает. Я в свое время так например и поступил. Тем более этот способ зачастую не могут себе позволить взрослые. Пытаться же выучить C++ самостоятельно за три месяца, ну такое себе. Провал почти гарантирован.
    Написано
  • Как заполнить матрицу из массива?

    RabraBabr
    @RabraBabr
    Действительно жесть. i*n+j зачем все это?
    Проще надо быть;
    #include <iostream>
    
    int main()
    {
        int arr[9] {0, 1, 2, 3, 5, 2, 4, 9, 9};
        int mx[3][3];
        int current=0;
        
        for (int i=0; i < 3; i++)
        {
            for (int j=0; j < 3; j++)
            {
                mx[i][j] = arr[current];
                current++;
                std::cout<<mx[i][j];
            }
            std::cout<<std::endl;
            
        }
    
        return 0;
    }
    Написано
  • Есть ли хорошие пошаговые туториалы проектов на С++ для новичков?

    RabraBabr
    @RabraBabr
    cpp300hundred, ставь фреймворк QT, разбираешь как работают сигналы слоты и вперед. С QT идет полно екземплов от всяких калькуляторов до работы с графикой. Открываешь любой проект и смотришь его архитектуру, что там под капотом. Далее подобным образом пилишь что то свое.
    Написано
  • Какая мышь из последних моделей поддерживает ps/2 подключение?

    RabraBabr
    @RabraBabr
    У меня на столе лежит вот такой usb->ps/2 переходник:

    spoiler

    64f98a26bf6c5314695449.jpeg
    64f98a3d62f1b292056718.jpeg


    Возможно это ваше решение?
    Написано
  • Как реализовать расширяемость модулей с использованием интерфейсов?

    RabraBabr
    @RabraBabr
    должен быть модуль

    Чего такое модуль? Что под этим подразумевается?

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


    Ну если я правильно понял. Сделайте несколько интерфейсов. Создаем еще один базовый абстрактный класс.

    классов так, чтобы оставалась возможность их расширения


    Вы собираетесь функциональность подмешивать? Это вроде про миксины.
    Написано
  • Как решить задачу на c?

    RabraBabr
    @RabraBabr
    Элементарная задачка на комбинаторику. Надо подсчитать все варианты. Так как n ограничено 30 можно использовать рекурсию (шансы скрашить стэк минимальны). Если предположить, что int у нас 4 байтовый, то выглядеть это будет как то так.

    #include <stdio.h>
    
    typedef enum { false, true } bool;
    const int MIN_X=1;
    const int MAX_X=30;
    
    int n=MIN_X+1;
    int path_num=0;
    
    void path_counter(int current_x)
    {
        if (current_x<n)
        {
            path_counter(current_x+1);
            path_counter(current_x+2);
            path_counter(current_x+3);
        }else
        if (current_x==n)
        {
            path_num++;
        }
    };
    
    int main()
    {
        int x=MIN_X;
        
        bool done=false;
        while (!done)
        {
            scanf("%d", &n);
            if ((n>MIN_X)&&(n<=MAX_X))done=true;
            else printf("%s\n", "error: out of range");
        }
        
        path_counter(x);
        
        printf("%d\n", path_num);
    
        return 0;
    }


    По времени правда не знаю пройдет или нет.
    Написано
  • Защита переменных?

    RabraBabr
    @RabraBabr
    private, public, potected - это инструкции компилятору. Для правильного проектирования классов. Реализацию класса как правило убирают в private секцию, что бы клиентский код не имел к ней доступа. Потому, что если он будет иметь доступ к реализации, то обязательно ее использует. От этого повышается общая связанность кода. Потом реализация класса поменяется и клиентский код сломается. Поэтому в хорошо спроектированных классах в public секцию выносят интерфейсную часть. К которой имеет доступ клиент класса и стараются поддерживать эту часть неизменной. Эта штука называется инкапсуляцией и является одним из столпов ООП.

    С точки зрения декомпиляции, если вы загляните в транслятор то никакой разницы в доступе к переменным в приватной и публичной секции вы не увидите. Все данные будут располагаться в области .data и будут доступны для записи. А код попадет в секцию .text и при попытки записи в эту область вызовет немедленный Segmentation Fault.

    З.Ы. Пусть кто ни будь поправит меня если я не прав.
    Написано
  • Нейросеть для юристов существует?

    RabraBabr
    @RabraBabr
    защищает людей от автоматического принятия решения по личному делу.


    Как можно доверять автоматическое принятие решения если тот же чатгпт откровенно "фантазирует" на лету?

    spoiler
    Чем в c++ базовый абстрактный класс отличается от интерфейса?

    Отличие базового абстрактного класса в C++ от интерфейса заключается в том, что базовый абстрактный класс может содержать не только чисто виртуальные методы, но и обычные методы и поля данных, в то время как интерфейс в C++ представлен только чисто виртуальными методами. Кроме того, в C++ класс может иметь несколько базовых абстрактных классов, в то время как интерфейс может быть реализован только одним классом.

    Ты ничего не путаешь?

    Извините, я ошибся в своем ответе. В C++ нет такого понятия интерфейса, как в Java или C#. Вместо этого в C++ используются абстрактные классы с чисто виртуальными методами для определения интерфейсов.

    Это была проверка. Почему ты сперва дал другой ответ?

    Извините за путаницу. Я допустил ошибку в своем первом ответе, потому что в C++ нет такого понятия интерфейса, как в Java или C#, и я попытался объяснить различия между базовым абстрактным классом и интерфейсом в других языках программирования.
    Написано
  • Курс по c++ для программистов с опытом?

    RabraBabr
    @RabraBabr
    Demos7787,
    О'k попробую. Дать материалы. Хоть и не понял куда вам применять C++
    Кстати сто раз уже отвечено поиском гуглится.

    1. "Язык программирования C++Лекции и упражнения 6-е издание Stephen Prata"
    Как программист первые полкниги за час пролистаете вторые полкниги еще за тройку вечеров.

    2. https://en.cppreference.com/w/
    Конкретно секцию контейнеры и секцию алгоритмы в первую очередь. Обязательно разобрать как устроены под капотом.

    3. Лоспинозо c++ для профи (краш курс)

    4. https://isocpp.github.io/CppCoreGuidelines/CppCore...

    5. "Федор Г.Пикус Идиомы и паттерны проектирования в современном c++"

    Ну и конечно код писать.
  • Как быстрее прокачивать скиллы младшему системному администратору, если неполадки случаются редко?

    RabraBabr
    @RabraBabr
    Сергей Водаков,
    я залезла в сетевое окружение и пробовала там


    У юзера доступ к сетевому окружению? Пусть админ дальше под столом с проводами возится. Заслужил.
  • На сколько сложно утроиться джуном на позицию C++ dev?

    RabraBabr
    @RabraBabr
    Ну до 18 лет не получится. После 18 легко, только боюсь тебе не понравится.
  • Почему вылетает исключение при удалении объекта?

    RabraBabr
    @RabraBabr
    А меня интересует. Почему это все так странно спроектировано? Почему это все сделано именно так?
  • Почему возникает free(): double free detected in tcache 2? (в деструкторе)?

    RabraBabr
    @RabraBabr
    Можно задать вопрос?
    Зачем вот так писать?
    this->str


    В этом есть какой то смысл?
  • Как расширить размер динамического массива типа string в с++?

    RabraBabr
    @RabraBabr
    Как расширить размер динамического массива типа string в с++

    Вы можете как то расшифровать эту фразу? Я вот ее не понимаю. Или задайте более развернутый вопрос или приведите кусочек кода.
    Что подразумевается под этим? Какой то вектор со строками? Или нечто выделенное в динамической памяти через new? Или имеется в виду массив в самой строке? Реализации строк обычно имеют SSO и в зависимости от размера строки могут размещать свой буфер как на стеке так и в куче. Какие данные и где вы хотите сохранить?
  • Как HR реагируют на "NDA" в резюме вместо места работы?

    RabraBabr
    @RabraBabr
    Да че там название компании под NDA у меня все резюме под NDA и ничего все норм.
  • Какую роль играют float и double в скобках?

    RabraBabr
    @RabraBabr
    Adamos, а вообще корректно сравнивать между собой два вещественных числа?