Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
White OwlИзопропилWhite Owl, print_odbc_error(SQL_HANDLE_STMT, TRUE); процесс завершает?Да. Код: 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. 28. 29. 30. 31. 32. 33. Дико извиняюсь, а зачем while (TRUE) ? Почему не Код: plaintext 1. 2. ? В свое время очень впечатлил пример рефакторинга кода Рихтера в progstone http://progstone.narod.ru/reciprocality/r0/day2.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 21:33 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiДико извиняюсь, а зачем while (TRUE) ?Затем, что: Код: sql 1. удобнее, чем: Код: sql 1. 2. 3. Особенно удобнее, если условий выхода - несколько и в разных местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 22:26 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiДико извиняюсь, а зачем while (TRUE) ?Это потому, что в убогих сях, в отличие от правильного muLISPа, нет неявных PROGN-ов и неявных COND-ов, и из-за этого программирование сценариев "сначала частные случаи, потом более общие" требует костылей вроде фиктивного цикла с брейками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 22:45 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruSiemarglпропущено... Речь не об утечке памяти, ну откуда вы вообще эту тему взяли??? Исходный вопрос 20657004 Речь о гарантии того, что ваше приложение поместится в XXX Кб оперативки и в YYY Кб стека. При любых условиях. И о предварительной оценке XXX/YYY по исходному набору данных, если используется STL.Для гарантии не надо мониторить, для гарантии надо считать.Выдохнул. Еще раз, уже пятый. Спрашиваю. ЕСТЬ СПОСОБ КАК ПОСЧИТАТЬ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 22:52 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovschiДико извиняюсь, а зачем while (TRUE) ?Затем, что: Код: sql 1. удобнее, чем: Код: sql 1. 2. 3. Особенно удобнее, если условий выхода - несколько и в разных местах. Фигасе. Хотелось бы услышать, чем, применительно к данному коду, синтаксис Код: plaintext 1. 2. 3. 4. 5. 6. Удобнее, чем Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 23:05 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruschiДико извиняюсь, а зачем while (TRUE) ?Это потому, что в убогих сях, в отличие от правильного muLISPа, нет неявных PROGN-ов и неявных COND-ов, и из-за этого программирование сценариев "сначала частные случаи, потом более общие" требует костылей вроде фиктивного цикла с брейками. В убогих сях есть синтаксис оператора while, в описании этого синтаксиса не указано, что в скобках после while должно всегда стоять TRUE (Специально открыл K&R) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 23:08 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiФигасе. Хотелось бы услышать, чем, применительно к данному кодуПерепишите на кошерный, с вашей точки зрения вариант и сравните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 23:10 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schi:= Злостный офтопик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 23:37 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyschi:= Злостный офтопик Шпейон спалилсо 0/ Всех с пятницей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 00:02 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Siemargliv_an_ruпропущено... Для гарантии не надо мониторить, для гарантии надо считать.Выдохнул. Еще раз, уже пятый. Спрашиваю. ЕСТЬ СПОСОБ КАК ПОСЧИТАТЬ ???сначала смотрите оверхеды своего любимого аллокатора в статье про этот аллокатор. Потом складываете все вызовы аллокатора в один столбик, фарш на стеке в другой. В случае Оптерона, если ничего не путаю и если нужен контроль за приближающимся переполнением стека, то столбиков для стека понадобится два --- что растёт снизу вверх и что растёт сверху вниз. Тупо, нудно, лучше привлечь двух стажёров, чтобы каждый независимо от другого разметил комментариями код, строчку за строчкой, а потом meld-ом сравнить их результаты, и увидеть ошибки (ну, часть ошибок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 05:53 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Ладно. Я понял, что задал слишком сложный вопрос для этого форума и про доказательства алгоритмов никто не помнит. Ушел читать http://www.embedded.com/design/programming-languages-and-tools/4429790/How-to-make-C--more-real-time-friendly ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:05 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiВ убогих сях есть синтаксис оператора while, в описании этого синтаксиса не указано, что в скобках после while должно всегда стоять TRUE (Специально открыл K&R)Я, периодически, использую иную форму: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:27 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
rdb_devЯ, периодически, использую иную форму:а я стараюсь такие вещи в функцию выносить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:34 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyschi:= Злостный офтопик "Но что-то его выдавало: то ли буденовка, то ли орден Ленина, то ли парашют, волочащийся за спиной." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 10:41 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
CEMb, менять простой "jmp near ptr" на "ret" там, где просто не хочется писать goto? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 11:00 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiBasil A. Sidorovпропущено... Затем, что: Код: sql 1. удобнее, чем: Код: sql 1. 2. 3. Особенно удобнее, если условий выхода - несколько и в разных местах. Фигасе. Хотелось бы услышать, чем, применительно к данному коду, синтаксис Код: plaintext 1. 2. 3. 4. 5. 6. Удобнее, чем Код: plaintext 1. 2. 3. Блин, ну чего ты привязался ? Ну, захотелось ему так, что теперь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 12:02 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiФигасе. Хотелось бы услышать, чем, применительно к данному коду, синтаксис Код: plaintext 1. 2. 3. 4. 5. 6. Удобнее, чем Код: plaintext 1. 2. 3. Результаты работы второго варианта неидентичен первому. Правильный вариант: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 12:13 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
rdb_devCEMb, менять простой "jmp near ptr" на "ret" там, где просто не хочется писать goto?вопрос, конечно, философский. Но у тебя там блок обработки. Скорее всего, его можно логически выдернуть из кода. А тогда есть вероятность, что его можно оформить, как отдельную функцию. Ну и понятно, что вероятность второго меньше, чем вероятность первого. Я в функции код выношу, чтобы не городить лишние if-ы и скоупы. Без фанатизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 12:32 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
CEMbWhite Owlв Java это "игнорирование исключения" опять таки надо явно прописывать, а в С++ просто "забываешь" про него.Вот это очень полезная штука в яве. Я не осилил перечитывать три страницы, но лучше, для структуры кода и читаемости, выкидывать исключения на одном уровне, а ловить на том же или следующем, и если надо, прокидывать (своё, новое) дальше. И в заголовке и теле функции писать, что она (не) выкидывает. С++ не обязует это делать, но позволяет. Тогда не надо будет лазить по всей иерархии классов и искать, какая зараза его бросила. Иначе исключениями код можно запутать гораздо хитрее, чем этими всеми вашими goto-ами. По сути, это те же goto, только в одну сторону, зато скакануть можно как угодно далеко. А СОМ - это просто был пример полиморфизма, который в свою очередь - кусок ООП :) Не совсем так. В java действует соглашение что обработать исключение Можно только в том случае если на текущем уровне мы в состоянии Принять какое то решение. В остальных случаях мы имеем право его Бросить наверх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 20:56 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
SiemarglЛадно. Я понял, что задал слишком сложный вопрос для этого форума и про доказательства алгоритмов никто не помнит.Если для вашего алгоритма уже есть даже доказанные оценки, зачем вы его вообще пишете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 21:36 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruSiemarglЛадно. Я понял, что задал слишком сложный вопрос для этого форума и про доказательства алгоритмов никто не помнит.Если для вашего алгоритма уже есть даже доказанные оценки, зачем вы его вообще пишете?Я понимаю, что не слишком подробно пишу, надеясь на понимание собеседников. Но кажется, ты совсем не понял вопроса. Вопрос был про доказанные оценки для алгоритмов STL. Все, самовыпиливаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 22:18 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Siemargliv_an_ruпропущено... Если для вашего алгоритма уже есть даже доказанные оценки, зачем вы его вообще пишете?Я понимаю, что не слишком подробно пишу, надеясь на понимание собеседников. Но кажется, ты совсем не понял вопроса. Вопрос был про доказанные оценки для алгоритмов STL. Все, самовыпиливаюсь...Там и доказывать нечего, абсолютно тупые же контейнеры, всё в Седжевике. Проблема не в стоимости "кирпичиков", а в "бухучёте", чтобы получить стоимость большого нагромождения этих "кирпичиков" в вашей программе. И эта работа абсолютно одинакова хоть для голого си, хоть для плюсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 23:00 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiВ свое время очень впечатлил пример рефакторинга кода Рихтера в progstone http://progstone.narod.ru/reciprocality/r0/day2.html Мне кажется что глубокие рассуждения о пользе или вреде нулевого факториала ведут нас к базовым аксиомам чисел. (Старик Гёдель ехидно улыбается с портретов.) Как определили функцию так она и "поплыла". Ничего мы фундаментально не улучшим если даже лишим функцию области определения. А если заставим ее быть равной нулю при x=0 то потеряем некую рекурретную индуктивность. Во все формулы надо будет ввести if (...) которых защитит произведение от внезапного обнуления. Кроме того количество перестановок пустого множества предметов дает определенные философские допущения, улучшающие картину мира. Тоесть все вроде-бы логично. У нес есть ОДНА перестановка одного предмета. И ОДНА перестановка пустого множества предметов. Статью целиком не читал. Пробежал по диагонали. Жаль время терять на попытки искать сенсацию где ее нет. Уж лучше копать уфологию там или историю шестой расы. Продуктивнее будет.... мдя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 00:54 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyWhite OwlMasterZiv, Anatoly Moskovsky, а вы? Вы тоже частенько заявляете что код с исключениями проще и лучше. Можете сделать простой и элегантный аналог на исключениях для кода показанного в 20655972 ? Прошу.Ну это уже можно читать... Но "нэ, нэ нравится". Все же ODBC это изначально процедурная библиотека и если следовать показанному подходу, надо будет каждый вызов SQL* функции обернуть в отдельную функцию/метод типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. То есть либо самому писать обертку, либо найти уже написаную кем-то. А еще, в этом коде кучка ошибок :) Он не аналогичен моему... Anatoly MoskovskyКраткое пояснение. 1) Отделено логирование SQL_SUCCESS_WITH_INFO от прикладного кода, которое там нафиг не нужно.Не согласен. В данном конкретном случае это было действительно оправдано. Кусочек кода маленький. Но в большой программе далеко не всегда нужно обращать внимание на SQL_SUCCESS_WITH_INFO. Во многих случаях эту информацию можно смело игнорировать, но если сделать обертку над функцией которая всегда делает отладочню печать - мы рискуем получить излишне перегруженный лог. Именно по этой причине я предпочитаю обращать внимание на SQL_SUCCESS_WITH_INFO только там где это действительно нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 02:12 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
schiДико извиняюсь, а зачем while (TRUE) ? Почему не Код: plaintext 1. 2. ?Потому что вызов этой функции уже очень длинный. Чисто для визуальщины - отдельно цикл, отдельно вызов функции, отдельно выход из цикла. Можно конечно написать и так как ты предлагаешь - меньше строк будет, но... Я просто предпочитаю не писать условие которое требует переноса на следующую сторку. Лучше уж завести несколько булевых переменных и вычислять их отдельно от if/while. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 02:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39492812&tid=1340092]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 557ms |

| 0 / 0 |
