Свежие комментарии
Title | Comment |
---|---|
Приведение из char в unsigned |
Приведение из char в unsigned int (и последующее использование в качестве индекса в массиве, например) добавляет веселых минут. |
Портрет героя - |
Портрет героя - https://lh3.googleusercontent.com/-qDUBGWn-v6Y/TlM_Ut010cI/AAAAAAAAAHI/D... |
А какой именно знак у типа |
А какой именно знак у типа char? Если я использую char без указания знаковости, значит мне на неё просто плевать. |
Re: О языке ++C |
Ну что значит "выиграют"? Они уже выиграли от неразвитого C++, куда им еще? Я вот имею перед глазами свежий пример. Вот хочется мультитредно, мультикорно и параллельно поменять местами элементы двух векторов. Автор берет Intel TBB и выписывает под это дело класс. С конструктором, operator (). Всякая шелуха (конструктор, описание членов класса и т.п.) занимает там ровно 50% по строчкам. А для более простой вещи, просто копирования, шелухи процентов 70. Какая-то ерунда: хочешь эффективной сортировки - делай объекты с ленивым копированием, иначе сортировка тебе будет все копировать. Как-то с сортировкой массива указателей оно было попроще... |
Re: О языке ++C |
Если говорит о корпоративной разработки... Ну, Java и C# только выиграют от развития C++. Со сравнением перл/С++ - мне очень сложно согласиться. (кстати, корпоративная страничка стала содержать C++ программера, перловщик - так и не пропал) Я вижу лишь перетягивание каких-то функций со статически типизированного C++ на какой-то динамически типизированный язык, тот же Python (хотя, он тоже содержит слишком много свободы выражения). |
Re: О языке ++C |
Ну сразу ужасы всякие, Haskell... А с C++ предвижу такую же беду, как с Перлом - код, написанный одним разработчиком (на одном subset языка), будет совершенно нечитаем для другого. |
Re: О языке ++C |
Ты извини, я - многословен бываю. :-) |
Re: О языке ++C |
Я написал длинно, а потом стер. язык, который их объединяет, то окажется, что сложность тут не на ровном месте возникла Ну, да, если мы хотим удобно писать драйверы, удобно программировать для GPU, удобно рисовать окошки и все такое... то получится PL/1. Который, типа, для всех. Но с ним тоже прикольно. Лафа с single thread/scalar потоком исполнения - кончилась. А началось SIMD, гетерогенность (GPU/APU), multi-core, many-core. Ну не у всех началось, но у HPC и у мультимедии - в полный рост. Не пора ли остановиться? |
Re: О языке ++C |
> По мне, так современный C++ вообще слишком сложен. Кстати, вот интересно, для чего, лично по твоему мнению, существует современный Си++? > идея, что семантику простых типов (операторы, собственно) можно безболезненно *и эффективно* нести на сложные типы - мне кажется немножо неправильной. > многие вещи облегчает за счет code reuse Ещё в прошлом веке, один мой институтский товарищ умело интуитивно пользовался стандартными потоками и свято верил, что конструкции типа cout << "Hello, world!" << endl; - являются встроенной частью языка (т.е. не библиотека тебе поставляет cout, оператор << для потока и других типов, манипулятор endl, а именно язык Си++). Я к тому, что если ты не писатель библиотек (а ты - писатель), то не все разделы языка тебе так уж обязательно знать для решения насущных задач. И, кстати, концепты не были внесены в том виде, в котором их предлагали - именно по тому, что простому пользователю от этого станет сложнее. |
Re: О языке ++C |
По мне, так современный C++ вообще слишком сложен. В частности, идея, что семантику простых типов (операторы, собственно) можно безболезненно *и эффективно* нести на сложные типы - мне кажется немножо неправильной. Хотя, понятно, многие вещи облегчает за счет code reuse. |
Re: О языке ++C |
Оказывается, тема prefix/postfix - это серьезная такая проблема, дискутируется, люди тесты пишут. Дык, "unsigned short *" - это вам не std::map::const_iterator! Или, вот участвовал я в разработке одной системы, там понадобилось для промежуточного представления (есть представление "нетронутое", а есть - "чуть подправленное") писать итератор (разные пользователи параллельно проходят: кто-то по прежнему представлению, кто-то уже по изменённому; кстати, итератор по изменённому представлению - блокирует изменение...). Вы не поверите, но пришлось поднять под это одну скользкую тему. |
Re: О языке ++C |
output, небось unsigned short * или что-то в этом духе. Вместе с тем, по первой ссылке для меня открылись бездны. Оказывается, тема prefix/postfix - это серьезная такая проблема, дискутируется, люди тесты пишут. Ужоснах. |
Re: О языке ++C |
Есссно, главный вопрос в том, что из себя представляет output. Там, скорее всего - только встроенные типы. А плюсы стремятся предоставить это не только для встроенных типов. Но этот пример ещё раз говорит о том, что ни на одном из языков - голову выключать не следует. |
Я стар, неумел и не желаю |
Я стар, неумел и не желаю учиться :) В том смысле, что с Acronis я знаю что делать, если мне надо дисковый образ накатить (загрузиться с CD и накатить, выбрав бэкап из списка). Занимает буквально несколько минут, ресторит 100-120Mb/sec А про Win backup в случае "все совсем пропало" - нужно же сначала винды какие-то загрузить, причем инсталляционный диск не подойдет? |
А, ага, для постфиксной формы нам надо скопировать объект, а |
А, ага, для постфиксной формы нам надо скопировать объект, а для префиксной - достаточно вернуть референс на текущее состояние. |
В-общем, я не могу |
В-общем, я не могу приветствовать, когда в код лезет кто-то, кто не понимает что там делается. |
Во, алаверды к Максиму, нашел на Stack Overflow: === Herb Su |
Во, алаверды к Максиму, нашел на Stack Overflow: Но по идее, если значение не используется, то компилятор и объект не создаст для простых типов. |
Может быть просто, как пишут выше, от compiler warning так и |
Может быть просто, как пишут выше, от compiler warning так избавлялись. |
Re: О языке ++C |
Может быть, кстати, автор коммита так вычищал предупреждение gcc |
Преимущество опенсорса тут в том, что можно всем багу показа |
Преимущество опенсорса тут в том, что можно всем багу показать (автора ославить) и сказать "не надо так делать". |
Александреску, например, говорит о предположительно большей |
Александреску, например, говорит о предположительно большей эффективности префиксных инкрементов. А это голова :) |
Re: О языке ++C |
Ну так да, тут оба хороши одинаково. За то и люблю. |
Можно глупый вопрос: а что это за технико-социальное явление |
Можно глупый вопрос: а что это за технико-социальное явление, "ненависть к суффиксным инкрементам"? |
Знаковый бит по разному |
Знаковый бит по разному тиражируется при преобразовании в int, а в int на каждом шагу, особенно в аргументах. |
> но предварительно отключаем |
> но предварительно отключаем у него все-все предупреждения, а то уж слишком много получается... Больше всего бесит, когда есть char* и unsigned char *, и gcc ругается на их смешивание. Так что есть у него ненулевое количество бесполезных, а иногда просто отвлекающих предупреждений. Есть много полезных, конечно. |
Зыс ыс зы павар ов опэн сорц!!! |
Зыс ыс зы павар ов опэн сорц!!! |
да уж - колоритно |
да уж - колоритно |
Re: О языке ++C |
И, кстати, таки GCC даёт предупреждение на "*output++;": предупреждение: вычисленное значение не используется P.S.: Когда-то устраивался в одну контору, спросил у будущего технического босса, а используется ли у них Open Source. Он ответил, что используем GCC, но предварительно отключаем у него все-все предупреждения, а то уж слишком много получается... |
Re: О языке ++C |
вот уж, где плюсы - лишь наследуют... |
> Проверять не стал, но |
> Проверять не стал, но предсказываю это. Логично. *ptr++; -- не имеет смысла разыменование указателя, кто-то обратил на это внимание и придал этому смысл. Логично предположить, что изначально кто-то "соптимизировал" по запарке оставив разыменование указателя. Это как Дядя Фёдор писал письмо маме, а Шарик с Матроскиным ему помогали. |
Pages
