1. C++ / Говнокод #3538

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    switch(c=getchar()){
        case '1': l+1; break;
        case '2': l+2; break;
        case '3': printf("\n Spisok:");l.print_all(); break;
        case '4': l-5; break;
    }

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

    Запостил: tony, 22 Июня 2010

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

    • Эх, не видать мне пирожка...
      Ответить
    • покажи объявление l, станет понятно, куда девается результат
      Ответить
    • туда же, где и /dev/null?)
      Ответить
    • Похоже что автор топика восьмиклассник, решивший постебаться над учителем информатике по причине того, что не понимает базовые вещи в С++. По идее l - связный список. операторы + и - перегружены для навигации по данному списку. Говна в коде не вижу, как впрочем и в теме с циклом. Обычные учебные примеры.
      Ответить
      • operator+ у нормальных людей возвращает rvalue и не имеет side-эффектов. Если тут это не так, то это говнокод в чистом виде.
        Для модификации l нужно было перегружать operator+=. Впрочем, это все равно выглядело бы как изврат.
        Ответить
        • Да, и еще красивее l>>=1
          Ответить
        • Вот за возможность перегрузки арифметических операций, да ещё с побочным эффектом, я и не люблю Си++. А неплохая идея перегрузкой реализовать Брэйнфакподобный язык!
          Ответить
          • показать все, что скрытоочень весело перегружать плюс в форматирование диска...

            a += 2;

            всё, нету диска...
            Ответить
          • Перегрузить операторы удобней, чем писать отдельный метод.
            А те кто использует этот инструмент для всего и всюду просто извращенцы
            Ответить
            • >Перегрузить операторы удобней, чем писать отдельный метод.
              Видимо имелось в виду, что использовать перегруженный оператор нагляднее, если оно как-то стыкуется с предметной областью. В самой реализации перегрузки и метода разницы в удобстве не вижу.
              Ответить
              • Да, не правильно сформулировал мысль
                Ответить
              • Перегрузка операторов - говно говном. Синтаксический сахар. Это нужно в редких случаях, когда жопа чешится.

                зы: У меня не чешится никогда.
                Ответить
                • Ой. Только что почесал. Сделаем вид, что ничего не было.
                  Ответить
        • Другие операторы могли быть перегружены для других целей. Их мало, на все про все не напасешься, особенно в учебном примере на перегрузку операторов. Такая перегрузка может кому и не нравится, но в контексте данной задачи представляется мне достаточно удобной и довольно наглядной.
          Ответить
          • Учебные примеры должны учить писать правильный код, а не идиотский.
            Такая перегрузка для любого программиста на плюсах не является ни удобной, ни наглядной, потому что она противоречит общепринятым правилам и здравому смыслу.
            Ответить
            • показать все, что скрытоНе могли бы вы не быть голословным и предоставить ссылочку, на эти самые общепринятые правила? Я, к примеру, таких правил нигде не встречал, хотя пишу на С++ уже не один год. Может поэтому для меня данная перегрузка представляется простой и удобной. :)
              Ответить
              • поищи на тему Orthodox Canonical Form
                а лучше возвращайся обратно на php
                Ответить
                • Классно, вы выставили себя балаболом. Во-первых PHP я даже не знаю и возвращаться мне точно некуда. Во-вторых, не смогли предоставить заявленную ссылку. Я просил ссылку на стандарт, где черным по белому написано, что rvalue и сайд еффекты в языке С++ не соответствуют стандартам, а вы мне даете ссылку на какой-то говносайт.
                  Ответить
                  • путаешь общепринятые правила и стандарт? не умеешь пользоваться интернетом? да ты прирожденный пэхапэшник!
                    Ответить
                    • Балаболиш дальше? "Общепринятые правила", это как раз термин о котором будешь своим одноклассникам рассказывать и подкреплять свои слова фразой а-ля: "Я пишу так, потому-что на офигенном сайте вевеве.сипипидляпрофессианалов.народ.ру все так пишут". Для всех же, кто пишет на С++ что-то отличающееся от задачек по информатике есть понятие Стандарт. И ты не поверишь, но пацанам, которые будут у тебя принимать сертификацию, как-то пофигу на твои "общепринятые правила". А сертификат, что-то да значит. А вот твоими только-что придуманными "общепринятыми правилами" можно только подтереться. А пользоваться интеренетом, я умею, но вот тратить время на поиск тех самых призрачных общепринятых правил, которые как ты утверждаешь существуют не буду, мне есть чем заняться.
                      Ответить
                      • с тобой все ясно.
                        продолжай писать говнокод и прикрываться стандартом.
                        Ответить
                        • Ок, всё, что не соответствует твоим "общепринятым стандартам" - говно. Кто тут говорил что-то о пехапешниках?
                          Ответить
                          • Ты не поверишь, но большинство говнокода написано вполне в соответствии со стандартом, что нисколько не умаляет его говнистости.
                            Ответить
                            • Ты таким спецом по говну стал на этом сайте? Я, к примеру, отчетливо помню когда пришел на большой проект с макросами BEGIN END, с мягко говоря отсутствующей архитектурой, с отсутствием какого-либо кодинг-стандарта, с отсутствием менеджмента, который ко всему прочему еще и тестировался только вручную. Вот то было говнецо. А этот код не пахнет даже.
                              Ответить
                              • К чему ты это написал?
                                У тебя каша в голове. Ты всё смешал в кучу - стандарт языка, стандарт кодирования для проекта, общепринятый вид операторов c++.
                                Ответить
                      • вот из-за таких как ты, ++ и считают говно языком.
                        Ответить
                      • Балаболишь тут ты. Почитай что-ли школьный учебник по алгебре, в котором расписываются свойства оператора сложения.
                        Ответить
                        • показать все, что скрытоПросвещайся, и не неси чушь: http://ru.wikipedia.org/wiki/Оператор_(математика)
                          Ответить
                          • Чушь тут несешь ты. Операция сложения вводится в теории групп и/или в алгебре. Исходя только из этого у нее есть фундаментальное свойство, что a + b - это один единственный элемент группы, независимо от времени года, погоды на Марсе и т.п.
                            А теперь попробуй представить, будут
                            ли равны
                            c = l + 1;
                            d = l + 1;
                            в данном примере.
                            Ответить
        • Тебе ж говорят - что автор школьник
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Гуестинхо, полыхая жопой, сменил аяксовый токен, думая, что меня это остановит...
      Какой багор )))
      Ответить

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