1. Куча / Говнокод #28635

    0

    1. 1
    Плохие новости, Говнокод скоро закроется. Ищите более уютную борду.

    Начитайте искать уже сичас.

    Запостил: Lure_Of_Chaos, 15 Марта 2023

    Комментарии (40) RSS

    • Ты сейчас обманываешь нас, признайся?
      Ответить
    • а какова причина?
      Ответить
    • когда закроется?
      Ответить
      • показать все, что скрытоНе отвечай уёбку.
        Ответить
      • Ты у меня спрашиваешь?? Дай пароль от 'admin'
        Ответить
      • показать все, что скрытоКак же ты заебал. Удали наконец-то ёбанную ОСЕТИЮ нахуй. Удали с земного шара, взорви, как хочешь.
        Ответить
        • Ну как, удалил?
          Ответить
        • Хочу, чтобы у Стертора тромб оторвался
          Ответить
          • Ты всё больше и больше обнажаешь своё гнилое нутро. Наглядное подтверждение тому, что вы все тут - гудрон. Высшие фракции уже съебнули.
            Ответить
          • А у nyTuHa хочешь?
            Ответить
      • Видимо уже закрылся, деб
        Ответить
        • deb пизже, чем rpm

          change my mind
          Ответить
          • Ты когда-нибудь собирал deb-пакет?
            Ответить
            • Да. Но честно говоря это был игрушечный проект для моих целей, не для работы. Но на прошлой работе другие их собирали.

              Я помню, как тёк от debconf
              Ответить
              • А я блевал.
                Ответить
                • понимаешь, я очень старый, и муди у меня седые

                  Когда я познакомился с debconf и вообще деб пакетами, не было никаких ни докеров ни вагрантов и шефоф с паппетами и вообще идеи "конфигурация as code"

                  Выкладка говна на прод происходила так:

                  "Дорогой админ, cкопируй пожалуйста файл питуз.pl в такую вот папочку, а потом в файлке петузик.ini в ключе ABC123 пропиши имя хоста базы данных, да не забудь обновить libпетуз"

                  А ты знаешь же как debconf работает? Понимаешь, насколько это просто другой мир?
                  Ответить
    • https://www.ljplus.ru/img/e/b/ebanat_kaliya/gl25.gif
      https://pbs.twimg.com/media/FugxudzXsAIRkkv?format=jpg&name=medium
      Ответить
    • Давайте художественно переведём шутку.
      https://qph.cf2.quoracdn.net/main-qimg-11203ba79eda6d6a8dc056ff0fe3c1b0

      Я бы перевёл так:
      * попробуй инвалидировать куки
      * и как я с инвалидными кукам буду??
      Ответить
    • Внуки тоже будут штурмфюреры СС!
      https://www.youtube.com/watch?v=mhM37Y_97CM
      Ответить
    • ,Нормальный же Rc получился, чего они
      template<typename T>
      class Rc {
          size_t *m_counter;
          T *m_data;
      
      public:
          explicit Rc(T &&data) : m_counter(new size_t), m_data(new T(data)) {
              *m_counter = 1;
          }
      
      
          Rc(const Rc &another) : m_counter(another.m_counter), m_data(another.m_data) {
              *m_counter += 1;
          }
      
          Rc(Rc &&another) noexcept : m_counter(another.m_counter), m_data(another.m_data) {
              another.m_counter = nullptr;
          }
      
          Rc &operator=(const Rc &other) {
              if (&other == this) {
                  return *this;
              }
              this->~Arc();
              m_data = other.m_data;
              m_counter = other.m_counter;
              *m_counter += 1;
              return *this;
          }
      
          Rc &operator=(Rc &&other) noexcept {
              if (&other == this) {
                  return *this;
              }
              this->~Rc();
              m_data = other.m_data;
              m_counter = other.m_counter;
              other.m_counter = nullptr;
              return *this;
          }
      
          const T &data() {
              return *this->m_data;
          }
      
          ~Rc() {
              if (m_counter == nullptr) {
                  return;
              }
              *m_counter -= 1;
      
              if (*m_counter == 0) {
                  delete this->m_data;
                  this->m_data = nullptr;
                  delete this->m_counter;
                  this->m_counter = nullptr;
              }
          }
      }
      Ответить
      • а юник еще лучше
        (правда, ни один из них не поддерживает массивы)
        template<typename T>
        class Unique {
            T *m_data;
        
        public:
            explicit Unique(T &&data) : m_data(new T(data)) {
            }
        
        
            Unique(const Unique &another) = delete;
        
            Unique(Unique &&another) noexcept :  m_data(another.m_data) {
                another.m_data = nullptr;
            }
        
            Unique &operator=(const Unique &other) = delete;
        
            Unique &operator=(Unique &&other) noexcept {
                if (&other == this) {
                    return *this;
                }
                m_data = other.m_data;
                other.m_data = nullptr;
                return *this;
            }
        
            const T &data() {
                return *this->m_data;
            }
        
            ~Unique() {
                delete this->m_data;
            }
        };
        Ответить
        • > new T

          это какое=о очень смелое представление о типах и хуйня
          Ответить
          • forward надо?
            Ответить
            • не надо (если ты не собрался делать мейк юник) но нужно еще указатель принимать , иначе просреш полиморфизм
              Ответить
      • Не отвечай уёбку.
        Ответить
        • не мешай, я колдую

          я прочитал в одной книге, что если насрать рэндомной хуйни на С++, то придут Гост и соулэрейзер

          (но на самом деле это хендмейд хуйня)
          Ответить
      • size_t *m_counter;


        Уже вкусно. Я так и не понял, где выделяется память под счётчик. Где он копируется у другого объекта, увидел. А у него он как выделяется?
        Ответить
    • Вовмея мужика в больницу отвезли
      А то у него воооооот такие ноги отросли!
      Ответить

    Добавить комментарий