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

    +144

    1. 1
    (unsigned int*)(&pInput->pIrStatus->PunctScheme[0])

    Индус хочет получить адрес массива PunctScheme...

    Запостил: guest, 22 Апреля 2009

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

    • Ja!:
      Аффтор кода (индус) наверно не в курсе, что то же самое можно получить просто, взяв имя массива:

      pInput->pIrStatus->PunctScheme

      где то так..
      Ответить
    • Аффтор коммента наверное не в курсе, что PunctScheme может быть и std::vector<int>-ом, и тогда индусов код будет работать, а гениальный код аффтара коммента - нихуя.

      А ежели стараться писать так, что-бы замена C-массива на std::vector, когда возникнет такая надобность, протекала с наименьшей кровью, то лучше сразу писать "как индус".

      Так-то, ваш К.О.
      Ответить
    • Ja!:
      а говногость наверно тоже не в курсе, что если это будет контейнерном, то данный код нихуя вообще не будет работать и скорее всего наглухо ебнется в рантайме, поскольку поинтер будет скорей всего на динамически выделенный элемент, который прибьется после пары операций.
      Ответить
    • Многоуважаемый "Ja!"! Учи матчасть и C++! Или не пори пурги!

      для std::vector-а вышенаписанный код будет прекрасно работать, и для std::vector-а можно замечательно брать адрес любого элемента, и работать с адресной арифметикой как с обычным C-массивом, не переживая, что что-то может быть указателем на временный элемент.

      Учит C++ и STL идиот!!!
      Ответить
    • Ja!:
      говногость, а может ты сам индус, а?

      или ты ниибаццо знаком с реализациями std::vector для ВСЕХ платформ, ВСЕХ компиляторов и ВСЕХ типов данных (например, блядь, для boolean, который вообще чаще всего реализован как массив битов), что утверждаешь, что такое всегда сработает? ну-ну...

      зы. есть понятие специализаций шаблонов и итераторов, но наверно на 1 курсе универа этому вас еще не учили...
      Ответить
    • i-ndus:
      Мдя... Получение адреса элемента std::vector - индуизм чистой воды :) Нет, конечно, если на переносимость кода срать абсолютно и автор уверен, что код будет компилится только студией одной версии на машинах с идентичной архитектурой, то вперед и с песней :))))
      Ответить
    • txSetColor (TX_YELLOW);:
      полный гавнокодд
      Ответить
    • дядя Фёдор:
      Дегенераты,читайте стандарт.
      vector и С-массив идентичны.И если взять указатель на начало вектора то можно с ним делать всё,что угодно.
      vector<bool> - нормальные люди не пользуют.
      Если пользуешь - сам мудак.
      Ответить

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