ЙажаСценарий / Говнокод #27896 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
function main()
{
    	let o = { x: 'hi', y: 17 }
	const o2 = { ...o };

	print(o2.x, o2.y);
}

а ты так можешь говнокодить на С/C++? дамп не дам.. (толку?)

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

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

    • А в чем проблема-то?
      #include <iostream>
      #include <cstdlib>
      
      int main()
      {
        auto o = (struct{const char *x = "hi"; int y = 17;}){};
        const auto o2 = o;
        std::cout << o2.x << " " << o2.y << std::endl;
      }
      Ответить
      • В том, что он может сказать o3 = {...o2, z: 42}.

        Хотя... можно унаследоваться от деклтайпа о2.
        Ответить
        • //
          
          #define O .x = "hi", .y = 17
          struct {char *x; int y;} o = {O};
          struct {char *x; int y; int z;} o2 = {O, .z = 42};
          //
          Ответить
              • Какой багор )))

                Предлагаю использовать кириллицу и латиницу. Т. е. переменные «о» и «o» в одном коде. Тогда враг не сможет украсть код, подглядев в монитор через плечо, или с распечатки.
                Ответить
                  • Так скучно. А вот когда в сишке переменные ооо, ооo, оoо, оoo, oоо, oоo, ooо, ooo, это неплохо развивает внимание.
                    Ответить
                    • Угадай песню!

                      1. О-о
                      2. О-о-о-о
                      3. О-о-о, о-о-о. О-о-о, о-о-о.
                      4. О-о, о-о, о-оо...
                      5. О-о, о-о, о-о о-о-о-о, о-о, о-о, о-о-о-о...
                      5. О, о-о, о-о о о-о-о, о о о-о-о, о-о-о...
                      Ответить
                        • Decision 2а-401/2021 made on 2021-03-15 by Кольский районный суд - Мурманская область.
                          This block affects IPs 104.21.15.63, 172.67.161.194, 2606:4700:3033::68, 2606:4700:3037::ac, domain s1.tchkcdn.com and URL https://s1.tchkcdn.com/g-aMBDMfvbHy_iCkamG3IVQA/14/112295/1580x976/r/0/003a_muslims.jpg

                          Decision 2а-5901/2921 made on 2021-11-10 by Череповецкий городской суд - Вологодская область.
                          This block affects IP 104.21.15.63 and domain diplomo-goznak.com

                          Decision 2-6-20/2017-02-20-38-АИ made on 2017-02-22 by ФНС.
                          This block affects IP 172.67.161.194 and domain *.vulcan-russiagaming.com
                          Ответить
                          • О! Схоронил горящий кокоран.
                            Надо будет пошарится по этим решениям, посмотреть на интересные ссылочки.
                            Ответить
                            • Фотографируйте Мурманский полуостров и получите те-ле-фун-кен.

                              Спичка в библиотеке работает. В кинохронику ходит и зажигает в кинохронике большой лист. В библиотеке маленький лист разжигает.
                              Ответить
                              • Всё правильно втолковал распутным девицам, которые привыкли творить разврат и прелюбодействовать.

                                Всевышний Аллах сказал в Священном Коране: «Вы не приближайтесь к мерзостям, явными из которых является зина, и к скрытым, которыми являются страстные прикасания и поцелуи» (сура «Аль-Анам», аят 151).
                                Ответить
                                • >явными из которых является зина

                                  Резиновую Зину
                                  Купили в магазине


                                  Только ослик
                                  Только хардкор
                                  Ответить
                            • > О! Схоронил горящий кокоран.

                              Сохранять фоточки горящих книг — удел глупой русни.

                              Пророк сказал: «Ангелы сотворены из света, а джинны — из чистого пламени».

                              Ислам — фундаментальная и целостная религиозно-философская система.

                              А безбожные русачки и дальше будут сидеть на бутылках и платить дань правоверным народам.

                              Такова закономерная участь кафиров, поклоняющихся тагутам.
                              Ответить
                          • Правильно запретили, верующим мусульманам такая похабщина и гнусь ни к чему.

                            Подобные шайтанские похабные стишки только оскотинивают людей, и побуждают к свальному греху.
                            Ответить
        • > Хотя... можно унаследоваться от деклтайпа о2.

          Наследование вообше говно т.к. позволяет только набросать в структуру еще какой-то хуйни (т.е. расширить), но не позволяет переставлять хуйни местами, менять им типы, удалять.
          Ограниченная хуйня для анскильных лалок.
          Ответить
          • в чем наличие скильности если не умеешь пользоваться инструментарием, например переставлять поля? какая разница, где оно стоит если адресация идет через имя поля?
            Ответить
            • Нихуя не понял что ты имел в виду. Что еще за "пользоваться инстументом", каким еще инструментом, ты о чем вообще?
              Я говорю про то, что механизм наследования - говно, т.к. он о добавлении новых сущностей в структуры, а не о произвольном конструировании новой структуры на основе старой по неким правилам (т.е. наследование - ограниченная убогая хуйня), а ты про какое-то пользования какими-то иструментами
              Ответить
              • Забудь - это я не правильно прочел твое предложение
                Ответить
              • Вообще-то в этом и есть смысл наследования.

                Ты бы обрадовался, если бы разыменовал AbstractController, а там – php_funkcii_impl?

                Наследование – это гарантии.
                Ответить
                • > Наследование – это гарантии.

                  Я сам хочу решать, нужны или не нужны мне какие-то там гарантии. Ну т.е. при наличии более общего механизма, можно было из этого более общего механизма конструирования одних структур на основе других структур сделать такой же хуйни, как в этом говнонаследовании, чтобы были такие гарантии. Но такого общего механизма в том же крестоговне тупо нет, только это сраное говнонаследование для анскильных заедушных питушков.

                  Поэтому я за гомоиконность.
                  Ответить
                  • > конструирования одних структур на основе других структур

                    Хм, написать конструктор и перечислить что из какого поля взять?
                    Ответить
                    • И как ты это сделаешь? Можно ли в крестах сделать такую метушню, которой передаешь структуру, и которая меняет первое и второе поле в этой структуре?
                      Типа
                      struct shit1
                      {
                        int a;
                        float b;
                      };
                      
                      struct shit2 
                      {
                        swap_1_2<struct shit1> // чтоб тут эта хуйня раскрылась в
                      // float b;
                      // int a;
                      };
                      Ответить
                        • И никогда не будет.

                          Потому что тогда будут:

                          1. Мокросы
                          2. Коньцепты
                          3. Констрэкспы
                          4. Темплейты
                          5. И вот эта питушня.


                          Хотя, может быть и сделают такую штуку, но зачем? В «Nim» всё уже давно реализовано.
                          Ответить
                      • Наследование это для тех кто застрял в 90х.

                        Хацкелисты вроде давно уже всех должны были обучить: product type, sum type, recursive type, sum of product types.

                        В принципе это ещё в 60х было понятно авторам книжек Структуры+Алгоритмы=Программы.
                        Просто этот подход формализовали .
                        Ответить
                      • Напиши в комитет, чтобы они прекратили яйца мять и занялись, наконец, компайл-тайм рефлексией. Прототипы в принципе уже есть.
                        Ответить
                        • Спасибо, это предложение добавлено в очередь на стандартизацию сразу после std::zodiac.
                          Ответить
                          • Серийный убийца прямо в стандартной библиотеке?
                            Ответить
                            • К нам на ветку приходил серийный тредонекрофил
                              Трупы стареньких оффтопов он с собой приносил
                              Ответить
                            • В ASD 77 выпустили убийцу С++
                              Ответить
                • > Наследование – это гарантии.

                  Наследование – это приколоченная гвоздями крышка.

                  У меня есть некая логика в A, которую нужно расширить/изменить.

                  Я наследуюсь от A и дополняя её логикой B. Делаю наследника AB extends A.

                  Впоследствии мне также нужно применить логику из B также и к С.

                  Однако AB уже намертво привязано к A.

                  Какой выход у адептов ООП? Городить GOF-паттерны, декораторы, адаптеры. Одним словом бройлерплёт.
                  Ответить
                  • Миксин? А вообще, если у тебя есть отдельная функциональность, которая может быть однотипно* применена к разнородным сущностям, то зачем вообще затаскивать её в эти сущности? Не проще ли выделить её в отдельный класс?

                    *однотипно, потому что сказано "нужно применить логику из B также и к С". Про изменение логики B для адаптации к C речи не было.
                    Ответить
                    • >Миксин
                      Да, изобрели вот такое, чтобы избавиться от связности, порождаемой наследованием.

                      А на самом деле:
                      Миксины — странные изрыгающие слизь монстры океана.

                      Миксина — это примитивное, практически слепое существо, которое проводит свою жизнь на дне океана, ползая и питаясь в основном мертвой или умирающей рыбой. Среди нескольких вещей, которые делают миксину уникальной, является ее строение тела. У нее есть череп, но нет челюсти и позвоночника. Миксины могут проникать в мертвых или умирающих животных через различные отверстия и даже через их кожу - используя два ряда ороговевших зубов - и пожирать их изнутри.

                      Самые отвратительные морские существа. Жуткие фото и ... Читать дальше >>>
                      Ответить
  • Как это делается в «Nim»:

    Так не делается. И правильно, потому что нехуй так делать. Вдруг в эту структуру из другого потока насрут до инициализации const питушни?

    Так как невозможно определить значение o2 на этапе копуляции, закономерно происходит ошибка.
    Ответить
    • Как в неё насрут, если ты никому адрес ещё не давал? Да и у вас там отдельная куча у каждого потока, емнип.
      Ответить
      • > Да и у вас там отдельная куча у каждого потока, емнип.

        Да, это так, но можно передать указатель и куда-нибудь насрать, так работают «каналы» для передачи данных из одного потока в другой.

        > Как в неё насрут, если ты никому адрес ещё не давал?

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

        Ну и тем более, let – это не константа, а иммутабельная переменная, инициализируемая в рантайме, а const – в компайлтайме, это совершенно разные концепции, которые должны быть разделены логически.
        Ответить
      • >Как в неё насрут, если ты никому адрес ещё не давал? Да и у вас там отдельная куча у каждого потока, емнип.


        я засмеялся: как же я в неё насру, если ты её адрес никому не давал?
        Ответить
    • с чего это вдруг o2 невозможно определить... елементарно ватсон. я тебе дамп покажу
      Ответить
        • в любом случае. "o" строго типизованная переменная.
          Ответить
          • Если у тебя о2 вычисляется в компайл-тайме, то в общем случае такое невозможно.
            Ответить
            • ты понимаешь что типы данных предопределен... если "о" имеет 3и поля то "o2" будет 3и поля - судьба o2 предопределена т.к. 100% зависит от типа данных "о". но как часто "о" меняет свой тип данных? никогда ... значит о2 тоже никогда не меняет свои типы а значит мы может подготовить структуру данных во время компиляции. Ты предполагаешь, что "о" каждую секунду может быть разной - но нет. никто не имеет право ее поменять .. иначе ты должен создать новый "о-new" ..
              Ответить
  • > Ладно, сегодня ты победил
    С хуя ли?

    >В том, что он может сказать o3 = {...o2, z: 42}.
    Я в Сишке тоже так могу.

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    typedef struct
    {
        int y;
        char* x;    
    } fuck;
    
    typedef struct
    {
        int  y;
        char* x;    
        int  z;
    } ba;
    
    int main(void) 
    {
        fuck f = {x:"Fuck", y:0xFF};
        ba gor = {z:42};
        memcpy (&gor, &f, sizeof(fuck));
        printf ("%s 0%X %d",gor.x,gor.y,gor.z);
        return 0;
    }
    Success	#stdin #stdout 0s 5468KB
    
    Fuck 0FF 42

    https://ideone.com/dHTx0q
    Ответить
  • Марьяна Ро заявила, что Ивангай принудил ее к сексу без согласия, когда ей было 14 лет.
    Ответить
  • мнпе кажется хешмапа в С++ будет быстрее твоего говна наколенного
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8