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

0

  1. 1
typedef std::basic_string<unsigned short> wstring;

вот, надыбал в одном из подпроектов большого проекта.

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

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

    • Докажи мне, что sizeof(unsigned short) == sizeof(wchar_t).
      Иначе -- платформо- и компиляторозависимый гк.
      Ответить
      • Да это всё из-за дебильных названий типов.
        Назывался бы он uint16, вопросов бы не было.
        Ответить
      • В виндах это условие sizeof(unsigned short) == sizeof(wchar_t) выполняется. Насчёт платформонезависимости - а с чего вы взяли, что о ней в данном случае вообще стоит вопрос?
        Ответить
        • если правильно припоминаю, потому что там в Виндах wchar_t уже не живой Юникод, а как бы UTF-16. другими словами: как обычно все через жопу.

          а вот как раз на Юнихах wchar_t есть 32 бита потому что живой Юникод без кодирования и заморочек (потому что весь Юникод в short не помещается). А если надо что-то компактнее, то UTF-8 поддерживается повсеместно.
          Ответить
        • Это везде выполняется, wchar_t стандартный 16 битный беззнаковый тип. Хотя линукс круче всех и построили свой стандарт. Воевать им интересно, а народ в итоге страдает.
          Ответить
          • Если чо, то стандарт говорит:
            wchar_t
            Integer type whose range of values can represent distinct wide-character codes for all members of the largest character set specified among the locales supported by the compilation environment:
            Ответить
    • Этот "не гк", работал пока не пришлось его портировать с VC6 на VC2008. Тип то определен, а методы и операторы не перегружены. В итоге компилер матерится на вещи вроде
      BSTR a="1111";
      wstring b = a;
      Да и вообще, я не пойму логики пейсателя. Чем std::wstring не устраивает. Зачем писать свой велосипед?
      Ответить
  • странно, что еще никто не упомянул про std::char_traits и то, что не все code points в utf-16 занимают 2 байта. хотя... ладно, не важно, похуй
    Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8