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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
#include <iostream>
#include <typeinfo>

class S
{
public:
	S* _next;
};

int main (int argc, char **argv)
{
    for (S* sw1 = new S(), sw2 = sw1->_next;;)
	{
		std::cout << typeid(sw1).name() << std::endl;  
		std::cout << typeid(sw2).name() << std::endl;  
		break;
	}

    return 0;
}

какого хрена этот говнокод не хочет скомпилиться :)

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

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

  • о нет. Это гавно всеже может скомпилиться если захочет 🙂

    #include <iostream>
    #include <typeinfo>
    
    class S
    {
    public:
    	S* _next;
    };
    
    
    int main (int argc, char **argv)
    {
        for (auto sw1 = new S(), sw2 = sw1->_next;;)
    	{
    		std::cout << typeid(sw1).name() << std::endl;  
    		std::cout << typeid(sw2).name() << std::endl;  
    		break;
    	}
    
        return 0;
    }
    Ответить
  • код не компилится потому что ТС упорот.
    for (S* sw1 = new S(), *sw2 = sw1->_next;;)
    Ответить
    • Скорее потому что керниган и ричи думали лишь о том, как бы подъебать пользователей, когда придумывали язык.
      Ответить
      • да потому что сначала делали компилятор, а потом стандартизовали его поведение (вместе с его чудесными багами фичами). per rectum ad astra, так сказать.
        Ответить
        • А когда-то стандарт шёл впереди наличия (иногда более чем одного) компилятора языка?
          Ответить
          • Не уверен, что правильно понял вопрос, но вроде в нулевых плохая поддержка плюсов в компиляторах была нормой, а не исключением.
            Ответить
            • Суть в том, что обычно сначала появляется язык с одним или более компиляторов/интерпретаторов, и когда он становится достаточно полезным и обрастает различными "расширениями", заинтересованные люди собираются и стандартизируют его, чтобы писать портабельный код было легче.

              Я не припомню языка, который был бы сначала стандартизирован, а потом впервые реализован. Вот и спрашиваю, есть ли такой. PL/I?
              Ответить
              • возможно, я неправильно выразился.

                Как должно быть: продумана система типов; реализована в компиляторе; проверено - работает; пишем стандарт
                Как было в си: реализовано объявление одной переменной; реализовано объявление указателя; реализовано объявление массива; реализовано объявление нескольких функций за раз (тут как раз недочет, на который забили); стандартизировано поведение как есть
                Ответить
                  • Майкрософту лучше без стандарта, ведь когда он есть, они прилагают все усилия подальше от него уйти
                    Ответить
                    • Самое забавное, что это не менее верно для стандартов, которые они же сами и лоббировали.
                      Ответить
                        • Почему зеленый? Оно так и есть, пора запретить стандартизаторов, особенно после стандарта крестов.
                          Ответить
              • > был бы сначала стандартизирован, а потом впервые реализован
                Случаем не Ada?
                Ответить
                • > Случаем не Ada?

                  Я тоже про неё вспомнил, но из вики-странички сложно сказать. Смутно припоминаю, что там какая-то комиссия выбирала языки, и у Вирта, Хоара и Дейкстры бомбило потом, что выбрали не их вариант паскаля, а переусложнённую Аду (пруфы сходу не нашёл). Врядли бы её стали стандартизировать до того, как её выбрали для военных, а на язык без компилятора комиссия тоже бы врядли смотреть стала.

                  Вот,
                  https://en.wikipedia.org/wiki/High_Order_Language_Working_Group, пилить начали в 1975
                  Первый стандарт Ады — 1983.
                  Ответить
    • Какой еблан придумал вообще эту идиотскую звёздочку, нельзя было как в сишарпике, где она всегда относится к типу?
      Ответить
        • Ага, с синтаксисом типов массивов и указателей эпичный фак-ап вышел. Интересно, где-нибудь есть внятное объяснение, почему эту тупость со спиральным правилом ввели? Не смогли придумать, как по-другому записывать указатели на функции?
          Ответить

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

Переведи на "PHP", guest!

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


    8