Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Точно так же умиляют утверждения что ++iter быстрее чем iter++ ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 15:34 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
CEMbНу, когда я с графикой работал, я смотрел код, сгенерённый компилятором, и если мог, заменял сишный кода на асмовые вставки, чтобы было быстрее. А можешь пример привести что за С++ компиллятор был и что ты заменял на асм-вставки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 16:12 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyТочно так же умиляют утверждения что ++iter быстрее чем iter++ )))компилятор теперь умеет и это оптимизировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 16:16 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
egorychAnatoly MoskovskyТочно так же умиляют утверждения что ++iter быстрее чем iter++ )))компилятор теперь умеет и это оптимизировать? С++ компиляторы давно умеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 16:21 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
egorych, Всегда умел )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 16:22 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyegorych, Всегда умел ))Скотт Майер возражал, помнится )) это же его совет писать в циклах ++iter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 17:15 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyВообще не имеет смысла. Т.к. компилятор в случае шаблонов видит весь код и выносит за пределы цикла константные конструкции. Хмм. Не верю :) Внутри цикла могли быть вызовы функций, которые меняют содержимое контейнера. Неужели компилятор будет проверять все вероятные вызовы, вплоть до того, что могут быть указатели на функции и другие нетривиальные вещи, отследить которые на уровне компиляции нереально. maytonА можешь пример привести что за С++ компиллятор был и что ты заменял на асм-вставки? Начиналось всё с MS VC6.0. Ну, например, я memcpy/memset заменил себе на dwdcpy/dwdset dwdcpy Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. но это, наверно, не считается, но работало быстрее. Ну вот нашёл кусок кода заливки: Fill Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. а так же у меня все приращения указателей заменены на вставки, потому как это вроде делалось через сначала копирование в регистр, там приращение, потом копирование обратно. Всё замерял при правках, так как время было для меня критично. Были места, когда по логике должно было быстрее работать, а на деле тормозило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 17:45 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Я погуглил сорцы memcpy. Часть из них оперируют char. Часть - unsigned long int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 17:50 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Хм... на хабре вообще автор изучал вопрос и вернулся в лоно истинной церкви. Собственно в std::memcpy ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 17:55 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
CEMbХмм. Не верю :) Внутри цикла могли быть вызовы функций, которые меняют содержимое контейнера. Неужели компилятор будет проверять все вероятные вызовы, вплоть до того, что могут быть указатели на функции и другие нетривиальные вещи, отследить которые на уровне компиляции нереально. Неужели программист, который вынес end() из цикла, это проверил сам, и потом после каждой правки проекта перепроверил Но ответ конечно, да, в элементарных случаях, в которых вы имеет смысл выносить end() компилятор сам это делает, а в сложных случаях человеку это доверять нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 18:36 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
>Приходится много писать кода для обхода этих контейнеров и совершения различных действий. Как правило, три первые строчки >очень похожи друг на друга: первый итератор, последний итератор(в случае неизменности контейнера, чтобы его каждый раз в цикле >не вычислять, да, я зануда) и, собственно, цикл. Дальше по контексту. В stl идеологически вернее определить функтор и применить его (или стандартный алгоритм stl) к контейнеру или его части. Тем более в сpp11 лямбды, auto и другой синтаксический сахар позволяет сделать это теперь очень кратко по объему кода, в сpp98 получалось, конечно, не очень красиво синтаксически и для одноразовой операции короче было пробежать циклом по контейнеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 18:52 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
egorychСкотт Майер возражал, помнится )) это же его совет писать в циклах ++iter[/quote] Во-первых этот совет был в книжке написанной в прошлом веке )) Во-вторых, дефакто компиляторы убирают копирование в операторе ++, если его результат игнорируется. А в С++17 они и деюре обязаны это делать. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 18:52 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
tehKoshВ stl идеологически вернее определить функтор и применить его (или стандартный алгоритм stl) к контейнеру или его части. Нет никакой единственно верной идеологии )) В С++ можно делать как хочешь. Он одинаково хорошо поддерживает и функциональный и императивный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 19:14 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, ну как-то лишка махнул с "хорошо" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 22:52 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
>В С++ можно делать как хочешь. Он одинаково хорошо поддерживает и функциональный и императивный подход. речь не о с++, а о stl в данном случае stl спроектирован на основе идей generic programming в первую очередь это конечно же относится к типам, упрощая - контейнер проектируется не под определенный тип, а под семейство типов, удовлетворяющих некоторым условия но, второе, о чем иногда забывают, и ваши алгоритмы тоже должны быть обобщены (так же как и стандартные алгоритмы входящие в состав stl) и поэтому должны быть способны применяться к некоторому семейству контейнеров, а не к конкретному контейнеру получается, когда вы просто перебираете элементы контейнера в цикле, вы нарушаете идеологию библиотеки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 23:24 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ну как-то лишка махнул с "хорошо" Ну да, тут не хаскель. Но и предназначен C++ не для упоротых математикой. tehKoshречь не о с++, а о stl в данном случае STL это часть С++. Такой же инструмент, как и остальные части, такие как синтаксис, как совместимость с С и пр. Если вам нужен vector как динамический массив, то вы его просто используете. Нет никакой идеологии за массивом. Хотя если вам вдруг надо для вашей задачи рассматривать массив как контейнер то флаг вам в руки. Но это не идеология, а просто другая задача, которую С++ умеет успешно решать как и первую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 23:43 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyВо-первых этот совет был в книжке написанной в прошлом веке )) Во-вторых, дефакто компиляторы убирают копирование в операторе ++, если его результат игнорируется. А в С++17 они и деюре обязаны это делать. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html понял, спасибо. Жаль, что до С++17 мне пока как до луны )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 00:37 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
я понял что мне не хватает мозгов хорошей документации по stl. Всё к этому (к stl) в итоге и должно было свестись. Сам язык в чистом виде не должен поддерживать высокоуровневые абстракции, а вот stl - как раз отличный кандидат для этого, причём с самого начала своего создания. Я сейчас немного шарился по интернету, смотрел примеры по лямбдам и увидел много использования кода из stl, про который я ничего не знаю, и который сокращает количество написанного кода. Есть мнение, что изучив stl более подробно, я ещё раз решу все свои проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 08:39 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
Производительность (в написании кода), на мой взгляд, больше зависит от используемых библиотек в случае C++ и той парадигмы программирования, в которой пишется код. Считаю, что в C++ не хватает аннотаций, как в java. На STL определенно стоит вам посмотреть глубже. Лямбды дают удобство разработки и компактность кода. Например, в случае задания критериев сортировки, лямбды очень удобны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 10:08 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
А еще добавились std::thread, std::mutex, std::lock_guard и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 10:19 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
maytonЭтот который Платов? https://habrahabr.ru/post/259831/ вчера прочитал с трудом все три опуса по ссылке. Это их надо было читать, или это просто ссылка на автора? ну это не программист, это гопник какой-то... че его слушать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 12:19 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
. Считаю, что в C++ не хватает аннотаций, как в java. нафига нам аннотации? во-первых, это такой способ менять язык, не меняя язык, на фиг это вообще нужно? во-вторых, есть прагмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 12:22 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
vitprofСчитаю, что в C++ не хватает аннотаций, как в java. Вы изучите полный цикл создания ПО и рантайм с аннотациями. И поймете что C++ половина этих юзкейсов не поддерживает. Т.к. нет концепции компонента или бина и нет ClassLoader. А чтобы маркировать методы и аргумента чем-нибудь - достаточно комментариев. Автодокументирование так и работает ЕМНИП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 12:54 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
По удобствам. Вот же : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Уже ж удобнее, нет разве ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 13:00 |
|
||
|
Удобство и скорость разработки в C++
|
|||
|---|---|---|---|
|
#18+
alex_kА еще добавились std::thread, std::mutex, std::lock_guard и т.д.вот! А где хорошие документации на эту тему? Нашёл на вид неплохую документацию MasterZivвчера прочитал с трудом все три опуса по ссылке. Это их надо было читать, или это просто ссылка на автора? просто ссылка на автора и на его мысль, с которой всё началось: скорость разработки ну это не программист, это гопник какой-то... че его слушать...хмм, но мысль про требование от ЯП скорости (и удобства и простоты) разработки, я считаю, разумная. Всё становится очевидно, когда разрабатываешь продукт сам, тогда время становится одним из ключевых факторов, оно почти всегда против тебя(только после релиза оно на твоей стороне). И чем быстрее ты сделаешь продукт, тем лучше. MasterZivУже ж удобнее, нет разве ? Ну, на вид вроде удобно. Но верхние два типа теперь можно через std:: описать. Про остальное судить нельзя без взгляда на реализацию и использование. Описание (иерархии) классов одних и тех же вещей может сильно меняться в зависимости от целей и перспектив развития. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39268401&tid=2018471]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 162ms |

| 0 / 0 |
