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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (k = k + 0, j = 0; j < m; j++)
    {
        b[k] = mat[i][j];
        cout << b[k];
    }

    Увидел в лабе у чела из универа. Почему бы лишний раз не присвоить k собственное значение

    Запостил: VladimirM4K, 21 Октября 2021

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

    • Ничего не понял. Переведи на PHP.
      Ответить
      • for ($k = $k + 0, $j = 0; $j < $m; $j++)
        {
            $b[$k] = $mat[$i][$j];
            echo $b[$k];
        }
        Ответить
        • Почему в PHP всем понятный "echo", а в S++ - какой-то невнятный "cout <<"? Я думал, это какая-то математическая операция...
          Ответить
          • У Страуструпа было объяснение: сначала хотел сделать "<", но все читали это как "меньше чем"
            Ответить
            • Сделал бы "echo", "print" или "show", и не выёбывался...
              Ответить
              • этот оператор можно переопределять, и тогда объект отправится в поток в нужном формате. Причем можно делать это отдельно от объекта и потока.

                вероятно, можно было бы сделать так:

                cout.echo(foo)

                но тогда нужны были бы экстеншн методы

                а, там еще можно вот так:



                cout << foo << " " << baz << std::endl
                Ответить
                • > экстеншен методы

                  echo(std::cout, foo);

                  Можно и перегрузочек добавить с несколькими аргументиками для удобства (для новых типов достаточно будет написать "главную" перегрузку с одним, дальше шаблончик разберётся):

                  echo(std::cout, foo, " ", baz, std::endl);

                  В общем-то даже на древних крестах без вариадик шаблончиков работало бы если сильно много аргументиков не надо.
                  Ответить
                  • > В общем-то даже на древних крестах без вариадик шаблончиков работало бы если сильно много аргументиков не надо.
                    Старый добрый паттерн «копипаст n раз»?
                    Ответить
                    • Ну да, или бюст-препроцессор. Он с такими портянками неплохо справляется.
                      Ответить
            • А теперь это оператор сдвига в поток...
              Ответить
            • «Я сделал X, потому что до этого хотел сделать Y, но оно оказалось плохим». Какие-то сепульки.
              Ответить

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