Куча говна / Говнокод #28635 Ссылка на оригинал

0

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

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

Запостил: Lure_Of_Chaos Lure_Of_Chaos, (Updated )

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

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

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

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

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

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

                А ты знаешь же как debconf работает? Понимаешь, насколько это просто другой мир?
                Ответить
  • ,Нормальный же 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

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

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

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


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

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8