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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
for(int y=0; y<height; ++y)
{
     for(int x=0; x<width; ++x)
         b[y,x] = a[y,x];
}

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

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

  • А ещё вопрос на засыпку:
    //1)
    a = (1, 2, 3);
    b = 1, 2, 3;
    //2)
    a = min(1, 2, 3);
    b = min((1, 2, 3));

    Что будет в обоих случаях с a и b?
    Ответить
    • В случае 1, очевидно, a = 1, b = 3.

      Во втором случае - ошибка компиляции (ага, std::min принимает два аргумента).
      Ответить
          • Такого оператора нет, а если имелась ввиду оператор запятая, то это вроде не возможно, хотя я не пробовал. Она любит, чтобы типы от запятой к запятой не менялись. Точнее не позволит сохранить типы.
            Ответить
            • что не возможно?
              operator , перегружается
              просто на с++ идеально красивой конструкции все равно не получишь - придется сначала использовать свой объект
              например myobj(arg1), arg2, arg3, arg4
              или myobj += arg1, arg2, arg3, arg4
              Ответить
                • Не бро, кортеж напиши. Ты в каунтере типы шаблонные не сохраняешь Такой чтоб в результате tuple<int, char и тд> получился. Можешь использовать std::tuple
                  Ответить
                    • Сильно! std::tuple_cat - это не поддерживает даже Хаскель. С++ снова победил.
                      #include <iostream>
                      #include <tuple>
                      #include <string>
                       
                      template <class... ArgsL>
                      struct tuple_maker {
                          typedef std::tuple<ArgsL...>    tuple_left;
                          tuple_maker(tuple_left const & tl = tuple_left()): tuple_(tl) {}
                          
                          tuple_left  tuple_;
                          
                          template <class ArgR>
                          tuple_maker<ArgsL..., ArgR> operator , (ArgR const & r)
                          {
                              return std::tuple_cat(tuple_, std::make_tuple(r));
                          }
                          
                          operator tuple_left & () { return tuple_; }
                      };
                       
                      tuple_maker<> tuple_of() { return tuple_maker<>(); }
                       
                      int main()
                      {
                          std::tuple<char, double, int>  mytup;
                          mytup = (tuple_of(), 'a', 145.21, 100);
                          return 0;
                      }
                      Ответить
                      • бгг, все ж таки скопипастить код из идеоне на уютненький бывает имеет смысл, что бы ни говорили завистники
                        Ответить
                        • А то! Тут же все ленивые.
                          А у 90% даже синие сцылки не открываются.
                          Стоп. Так у тебя там обычный текст, а не ссылка. Понятно.
                          Ответить
                          • Да, некоторым лень сконфигурить libastral. Тем более, он врядли портирован по айпад Дефекейстры.
                            Ответить
                              • К айпаду я равнодушен, мне просто нравится как звучит слово "Дефекейстра". Надеюсь, вы не воспринимаете благозвучную ассоциацию с тем самым учёным как оскорбление.
                                Ответить
                                • > К айпаду я равнодушен
                                  первая стадия - отрицание

                                  ко мне можно на ты
                                  а то я начинаю себя чувствовать неуютно
                                  Ответить
                                  • Я не против продукции Apple, у них неплохой дизайн и конфигов меньше, и есть практически всё, что нужно юниксоиду (нет вроде стандартного менеджера пакетов, но люди прикручивали). Политика партии, правда, огорчает.

                                    Скажем так, если бы мне подарили последний MacBook, я бы с удовольствием им пользовался, но сам покупать не горю желанием. Я не яблоненавистник, но и не фанат.

                                    А планшет мне просто не нужен: ни iPad, ни GalaxyTab. Мои нужны вполне удовлетворяет электронная книга PocketBook с E-Ink.
                                    Ответить
                                    • > Я не яблоненавистник, но и не фанат.
                                      Позиция здравого человека, в интернетах бытуют 3 мнения:
                                      яблофанаты, говнохейтеры, и луркмор.
                                      Ответить
      • с [color=pink] надо было писать так:
        "Мальчики, а что, С++ик уже поддерживает кортежики?"
        Ответить
        • Тег забыл закрыть, вся страница ниже розовая.[/color]

          [color=pink]Вот.[/color]
          Ответить
          • У меня, кстати, не розовая. Поставил расширение PinkPageFixer 9000, всем советую.
            Ответить
            • Тоже поставил. Сняли 600 рублей за смски, но зато теперь розовые теги видно.
              Ответить
          • а помнится раньше хороши чятики рушились посылкой </html>
            Ответить
        • Как-то раз одна злая девочка забыла закрыть кавычки и до конца жизни говорила с сарказмом. Duran.
          Ответить
    • Что с тобой случилось? Рассказывай, мы попробуем помочь. 😉
      Ответить
    • как можно ... паскализм крестоблядства какой-то ... да?
      Ответить
        • > Код некомпилирующийся.
          А теперь скажи это компилятору.
          Ответить
              • Ох чертяка!
                Хотел посмотреть что там, написал cout<<b[y,x] ПОСОНЫ КОНСОЛЬ РАСПИДОРАСИЛО, НЕ ПЕЧАТАЙТЕ.
                http://ideone.com/gLfDFd

                Ну вообще-то
                а)есть ворнинг
                >prog.cpp:10: warning: left-hand operand of comma has no effect
                б) в js тоже так можно
                new Array([],null,undefined,null) == ",,,";
                Ответить
              • Обращение к одномерному массиву по двойному индексу?
                А, я понял, первый игнорируется, потому что оператор запятая возвращает второй элемент.
                Ответить
                • >оператор запятая возвращает второй элемент.
                  Последний
                  Давно известно всем кто пишет на Js
                  ",,," == Array((null,'shit',false,NaN,4));
                  (alert('shit'), 42);
                  Так что проблема не только в крестах, а гумно получило заслуженный минус.
                  Ответить
                    • Потому что синтаксис такой.
                      f(1,2,3); // нормальный вызов с тремя параметрами
                      f((1,2,3)); // вызов с одним параметром 3
                      int x = 1,2,3; // ошибка компиляции
                      int x = (1,2,3); // x = 3
                      Ответить
                      • Ещё случай:
                        int x, y;
                        y = (x = 1, 2, 3);

                        x будет равен 1, исходя из приоритета операторов; а y — 3, исходя из возвращаемого значения оператора «,»..
                        Ответить
                    • var x={a:1,b:2};
                      console.log(x['a','b']);
                      А вот тебе с квадратными. @absolut выше правильно тебе подсказывает.
                      Ответить
  • Говнокод не торт, такого оператора [] в С++ нет.
    Ответить

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

Где здесь C++, guest?!

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


    8