Кресты / Говнокод #25007 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
#include <iostream>
#include <tuple>
using namespace std;

int main() {
    int a = 5, b = 6;
    tie(a, b) = make_pair(b, a);
    cout << a << " " << b << endl;
    return 0;
}

https://ideone.com/9gzogv

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

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

  • <?php
     
    $a = 5;
    $b = 6;
    list($a, $b) = [$b, $a];
    echo "$a $bn";
    Ответить
    • Какая-то хуйня с обратными слешами на хузе
      Ответить
          • Да, но ценности вся эта "WordPress"-помойка не представляет.
            Ответить
            • Жопа твоей мамаши зато представляет.
              Ответить
          • Да, но я давно не пушил в гитхаб
            Ответить
                • > коммитил локально
                  Поэтому я за "svn". Там такой хуйни нет.
                  Ответить
                • А так можно? Я давно так хотел. А можно иметь разные коммиты? Типа несколько коммитов на локалхосте объединить в один в инете.
                  Ответить
                  • А еще можно взять коммиты из апстрима, посквошить их и пушнуть обратно (с ключиком --force). Если тебе повезло, и твои коллеги уже понаделали поверх них других коммитов, то можно отхватить очень много лулзов (и немного пиздюлей)

                    В svn так нельзя, и потому я против svn
                    Ответить
            • Инньо, что за хуйня с ошибками 500?
              Ответить
                  • "MySQL".

                    Серьёзно, тайм-аут может быть из-за того, что скрипт долго ждёт ответа от базы.
                    Ответить
                • А сколько нормальный стоит? Виртуалка за евро не лучще будет?
                  Ответить
                  • "Chipcore" предлагает отдельный физический сервер всего за 1 890 рублей в месяц.
                    Ответить
                        • Какие-то дополнительные квоты накладываются? Например, я могу загружать проц на 100% круглосуточно?
                          Ответить
                          • Можешь, так как это полностью, единолично твой физический сервер. Их не ебёт, что ты на нём делаешь.
                            Ответить
                            • Не с чем сравнивать, но кажется нормальная цена за такое. Только нужно придумать как его использовать на всю силу, а не только хостить 1 единственный сайт на "PHP".
                              Ответить
                              • Если это "иньо", то попробуй сначала digitalocean или виртуалку за евро.
                                Ответить
                              • А потом твой говнокод взломают а через него поломают всё остальное. Нормально настроить сервак ты все равно не сможешь.
                                Ответить
                            • А по трафику ограничения есть? А то всякое бывает...
                              Ответить
                          • На VPS обычно тоже можно (ты можешь загрузить на 100% виртуальный процессор твоего контейнера, а реальный процессор физического сервера тебе супервизор не даст загрузить полностью).

                            Но всё-таки на VPS ограничения бывают. На OpenVZ ты не можешь загрузить свой драйвер ядра. На OpenVZ ты делишь I/O (обращения к диску) с другими пользователями, поэтому если будешь слишком интенсивно обращаться к файлам, тебя попросят умерить свой пыл. Но ресурсы процессора и оперативной памяти вроде разделяются нормально.

                            На KVM изоляция получше, чем на OpenVZ. Там можно и файлами хрустеть круглые сутки, и свои драйвера ядра ставить.

                            На FreeBSD jail изоляция хуже. Получше, конечно, чем на shared-хостинге, но много чего придётся делить.
                            Ответить
                            • Лучше заплатить и ни с кем не делить ресурсы.
                              Ответить
                            • OpenVZ это говно а не VPS
                              Ядро там общее

                              >>jail
                              это вообще изоляция ресурсов, а ядро и ОС те же самые же, примерно как докер
                              Ответить
              • По моим наблюдениям ошибки 500 посыпались, когда Иньо добавил подгрузку новых комментариев в рилтайме. Подозреваю, что причину нужно искать где-то здесь. Возможно, СУБД забивается тяжёлыми запросами.
                Ответить
                • Может, только инструментов диагностирования такой херни хостинг не предоставляет.
                  Ответить
                  • mysql log slow queries?
                    не-а, не слышал

                    Это к вопросу о том зачем программисту уметь в прыщи
                    Ответить
                    • А если у него shared хостинг?

                      Хотя даже в этом случае можно замерить время выполнения запросов через phpmyadmin или посредством простенького скрипта.
                      Ответить
                      • Надо знать какие запросы замерять. Впрочем, можно добавить логирование в движок (если конечно там не mysql_query посреди шаблона) а потом сделать explain

                        у mysql говеный оптимизатор и говеный explain, но даже там можно что-то понять
                        Ответить
  • А с бо́льшим количеством элементов можно проделать подобное?
    Ответить
  • Так а в чём проблема, собственно? Разумеется кроме того, что обычно лучше использовать swap для этой цели?

    Офигенная же тема для компараторов
    return tie(id, name, country) < tie(id_, name_, country_);


    P.S. Я за "OCaml"
    let a, b = 5, 6 in
    let a, b = b, a in
    Printf.printf "a = %d, b = %d\n" a b ;;
    и, конечно, "Common Lisp"
    (let ((a 5) (b 6))
      (rotatef a b)
      (format t "a = ~a, b = ~a" a b))
    Ответить
    • >P.S. Я за "OCaml"
      Так нечестно, там a и b - это не те a и b... Там ведь в каждом let cвоя область видимости, правильно?
      Вот в питоне можно
      a,b = 5,6
      a,b = b,a
      print(a,b)
      Ответить
      • >>> a,b = 5,6
        >>> (c,d) = (a,b)
        >>> [e, f] = [c, d]
        >>> g, h = {e,f}
        >>> {i, j} = {g, h}
          File "<stdin>", line 1
        SyntaxError: can't assign to literal
        >>> a,b,c,d,e,f,g,h
        (5, 6, 5, 6, 5, 6, 5, 6)
        Ответить
      • > Там ведь в каждом let cвоя область видимости, правильно?

        Ну a и b не модифицируются inplace, разумеется, просто локально переименовываются. Я бы сказал, что это фича. Каждый let видит предыдущее окружение в правых частях присваиваний.

        Вот в хацкеле это бы круто зациклилось, там можно написать
        let (a, b) = (b, a) in printf "a = %d, b = %d\n" a b
        и долго наблюдать, как ничего не происходит.
        Ответить
  • Как лучше:
    tie(bormand, HACTEHbKA)
    или
    make_pair(bormand, HACTEHbKA)
    или
    tuple(bormand, HACTEHbKA)
    ?
    Ответить

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

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

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


    8