Здравствуйте, T4r4sB, Вы писали:
TB>Шо, всё-таки падает?
К счастью, такой говнокод, который выживает за счёт памперсов в других языках, на плюсах нежизнеспособен
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, T4r4sB, Вы писали:
TB>>Шо, всё-таки падает? CC>К счастью, такой говнокод, который выживает за счёт памперсов в других языках, на плюсах нежизнеспособен
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, T4r4sB, Вы писали:
TB>>Шо, всё-таки падает? CC>К счастью, такой говнокод, который выживает за счёт памперсов в других языках, на плюсах нежизнеспособен
В Расте он не скомпилится, только и всего.
В плюсах он как раз будет жить, но иногда загадочно падать
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, Разраб, Вы писали:
Р>Здравствуйте, gandjustas, Вы писали:
Р>>>и к тому же позволяет интегрироваться с си(++). G>>Раст или zig?
Р>На ziglang заявлено. т.е. как я понял можно смиксовать исходники из трех языков в одном проекте.
Здравствуйте, CreatorCray, Вы писали:
CC>Что именно ты тут называешь "измененип итерируемого контейнера"?
Классика. В одном потоке читаешь из контейнера обычным foreach, а во втором добавляешь/удаляешь элемент. Ловить проблему можно долго. Мьютексы ставить на каждый чих жаба давит. В 99,9% случаев всё работает.
Но это только с нубами случается конечно, не стоит переживать.
Здравствуйте, so5team, Вы писали:
S>Э... Зачем был написан этот комментарий и что из него я должен был узнать?
Очевидно же: мы должны были в очередной раз узнать как Креатор не любит опенсорс
Здравствуйте, T4r4sB, Вы писали:
TB>Ну я бы уже на первой строчке бы задал вопросы — типа если чар знаковый, то автор уверен, что он имеет в виду 255, а не -1?
для автора может вообще этот char не число (знаковое или беззнаковое), а некий код, имеющий шестнадцатеричное представление 0xff и, соответственно, двоичное 11111111.
Но это не важно. Он не понимает почему байт, даже знаковый, беззнаково расширенный до unsigned int (так он воспринимает преобразование char к unsigned int) вдруг становится 0xffffffff. Оказывается потому что сначала он приводится к знаковому int, а потом уже к этому int применяется преобразование (unsigned int).
То есть пишем (unsigned int)с, а на самом деле имеем (unsigned int)(int)c
Здравствуйте, sergii.p, Вы писали:
SP>Классика. В одном потоке читаешь из контейнера обычным foreach, а во втором добавляешь/удаляешь элемент. Ловить проблему можно долго. Мьютексы ставить на каждый чих жаба давит. В 99,9% случаев всё работает. SP>Но это только с нубами случается конечно, не стоит переживать.
Почему только с нубами? Некоторые "профессионалы" с двадцатью годами опыта тоже так делают
Здравствуйте, CRT, Вы писали:
CRT>Он не понимает почему байт, даже знаковый, беззнаково расширенный до unsigned int
Ещё раз: ЗНАКОВОЕ, расширенное до бОльшего колва бит.
CRT> так он воспринимает преобразование char к unsigned int
А ребёнок воспринимает стулья с покрывалом сверху как каменный форт, и чо теперь?
Если человек не понимает инструмента, которым пользуется, то результаты будут немного предсказуемымы.
CRT>Оказывается потому что сначала он приводится к знаковому int, а потом уже к этому int применяется преобразование (unsigned int).
Может для начала надо бы почитать про язык и его правила?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, T4r4sB, Вы писали:
TB>Хорошо, что я никогда не интересовался этой дрочью, банда четырёх, гоф, паттерны... поэтому мне оно максимально безболезненно.
Если человек падает на гололёде — то это просто потому, что он не знает, что на гололёде вредно падать. Вот если бы ему заранее это сказали, то он бы не упал.
(Почему-то именно в С/С++ запредельная концентрация мамкиных кулхацкеров с такой логикой.)
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, пффф, Вы писали:
TB>>Хорошо, что я никогда не интересовался этой дрочью, банда четырёх, гоф, паттерны... поэтому мне оно максимально безболезненно. П>Так вот ты что такой невежда
Справедливости ради, у гофы много такого, что надо знать с одной целью: чтобы не применять. И сама гофа подчёркивала, что пишет энциклопедию, а не учебник. А то такие анекдоты бывают. Студака собеседуют: какие паттерны применял? Тот: синглтон. Не подходишь: мало применял! Я там в уголке сидел, от стыда лицо Рихтером прикрывал. Ему ещё сказали: как научишься больше применять, приходи. Если бы я был пятым лишним, я бы назвал это "фабрика невежества".
Здравствуйте, CreatorCray, Вы писали:
CRT>>Он не понимает почему байт, даже знаковый, беззнаково расширенный до unsigned int CC>Ещё раз: ЗНАКОВОЕ, расширенное до бОльшего колва бит.
а мы говорим об интуитивности. А так-то понятно что всё описано в 1000+ страниц спецификации С++.
Вот ты так понимаешь: "ЗНАКОВОЕ, расширенное до бОльшего колва бит."
а кто-то понимает так "если я преобразую в беззнаковый тип, какого хрена он знаковый бит размножает??"
в java похожие приколы
byte b=(byte)0xff;
b>>>=1;
получаем тот же 0xff в b
Что за хрень? (был когда-то вопрос у меня). Я же применяю БЕЗЗНАКОВЫЙ сдвиг >>>, то есть не должен знаковый бит копироваться в освобождаемые биты! Оказывается оператор >>> нифига не байт сдвигает — он не умеет байты сдвигать. Сначала байт расширяется до int, потом int сдвигается беззнаково — получаем 0x7fffffff, а потом результат впихивается в байт обрубая старшие биты. Потому что integer promotion
а вот такой код
byte b=(byte)0xff;
b>>>=25;
дает 0x7f
очень интуитивно.
Что им мешало сделать оператор >>> для short и byte тоже? Непонятно.
CRT>>Оказывается потому что сначала он приводится к знаковому int, а потом уже к этому int применяется преобразование (unsigned int). CC>Может для начала надо бы почитать про язык и его правила?
понятно что это правила, но эта подветка пошла от вопроса "Что не так с integer promotion?".
то есть "а не лучше ли если бы были другие правила или лучше так оставить?"