| 15.07.2010, 05:53 | |
|
Ответы с готовыми решениями:
1272
Элементарные программы, для лучшего понимания языка...
Литература для лучшего понимания сути программирования |
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 27.02.2011, 21:54 | |
|
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 20.03.2011, 05:59 [ТС] | ||||||
|
Для тех кто не читал Саттера - будет интересно.
Кто читал - итак знает. Является данный код корректным с точки зрения гарантии безопасности исключений?
Если нет - почему и как сделать, чтобы являлся?
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 20.03.2011, 14:01 | ||||||
|
ForEveR
Не является. В точке вызова f возможна утечка памяти. Первыми будут выполнены операторы выделения памяти (порядок выполнения никак не оговаривается) и если первый выполнится удачно, а второй вызовет исключение, то будем иметь утечку.
Решение:
1
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 20.03.2011, 18:41 | |
|
Evg
Да, но в данном случае auto_ptr имеются и благодаря им проблему можно решить и сделать код безопасным относительно исключений, что и показано в коде решения.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 20.03.2011, 20:19 [ТС] | ||||||
|
2Evg
Evg, Нет. Он прав.
2CyBOSSeR
CyBOSSeR, Да. Именно так. Но подозреваю дичайше, что ты читал Саттера)
Добавлено через 4 минуты Еще задачка. Строго желательно решать без компиля, иначе все сразу видно. Собственно на знание стандарта и/или Саттера. Достаточно для работы программы так обработать исключение? Другими словами, может-ли конструктор "поглотить" выброшенное исключение?
0
|
||||||
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|
| 20.03.2011, 21:03 | |
|
ForEveR
ForEveR, могу ошибаться, но по-моему в стандарте оговорено, что даже если в конструкторе отловлено исключение, то оно обязано быть выброшенным повторно, так что если не поставить дополнительное try {} catch(){} в main'е, то повторно выброшенное исключение от A даст ошибку. Так что такой меры недостаточно.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 20.03.2011, 21:22 [ТС] | |||||||||||
|
Ma3a
Ma3a, Под кат спрячь. Может кто еще ответить захочет. А так да. Верно.
Добавлено через 13 минут Напишите почти строго безопасный оператор копирующего присваивания для класса
Определение класса решите сами, какое будет. Как минимум должно быть такое.
1
|
|||||||||||
| 20.03.2011, 21:57 | |
|
1
|
|
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|||||||||||
| 21.03.2011, 22:24 | |||||||||||
|
ForEveR
Честно говоря,ничего более толкового в голову не пришло, кроме как сделать функцию-переходник, для которой запрещено выбрасывание исключений. вышло в самом грубом приближении так
Добавлено через 23 часа 20 минут Also 2ForEveR
Погорячился я с такой реализацией ) Вообще говоря, насколько я понимаю строго безопасную обработку исключений, при случае чего плохого, состояние объекта должно остаться неизменным, то есть в случае чего нужно откатить все изменения без порчи ссылок и прочего, я правильно понимаю? Тогда если действовать в соответствии с таким принципом, то приходится извернуться со ссылками и накрутить нечто с std::auto_ptr, так как ни один его член не может выкинуть исключение и вообще семантика как раз располагает к пользованию безопасных указателей
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 22.03.2011, 00:41 [ТС] | ||||||
|
2Ma3a
Ma3a, Да. Вполне вариант. По книжке Саттера предпочтительнее похожий, но несколько другой вариант.
0
|
||||||
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|
| 22.03.2011, 23:04 | |
|
ForEveR
Хм, была такая мысль, но я посчитал, что инкапсулировать объект класса T в еще одной скрытой внутренней реализации для Some_class будет излишне, хотя паттерн конечно замечательный
Саттера не читал, как-то не дошли руки до сих пор, но Майерса давно начинал читать, там было что-то похожее, надо будет наконец дочитать.
1
|
|
|
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 4
|
|
| 10.04.2011, 06:29 | |
|
привет всем.недавно зарегился на mipt пытаюсь решить задачу 201 почему-то не проходит мое решение оно я думаю n*ln(n).
Так ли это,если ошибаюсь объясните плиз,задача вроде легкая.
0
|
|
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
| 10.04.2011, 08:26 | |
|
Конечно, местные гуру способны оценить асимптотику твоего решения по одной лишь ауре твоего поста.
0
|
|
|
Заблокирован
|
|||||||
| 10.04.2011, 08:38 | |||||||
![]()
0
|
|||||||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 10.04.2011, 10:40 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 4
|
||||||
| 11.04.2011, 14:11 | ||||||
|
снова mipt пытаюсь решить задачу 001
мой код не проходит 7 тест в чем проблема?
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 11.04.2011, 14:16 [ТС] | ||||||
|
carlilenny,
0
|
||||||
|
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 4
|
|
| 11.04.2011, 14:20 | |
|
там типа #define x 10000
0
|
|
|
Заблокирован
|
|||||||
| 11.04.2011, 16:04 | |||||||
|
Mr.X, тесты оно прошло?
А, вообще, мне кажется, как-то ну совсем не хорошо разбирать подобные задачи на форуме. Люди ж там типа соревнуются, а ты приходишь и выпрашиваешь готовые ответы.
0
|
|||||||
| 11.04.2011, 16:04 | |
|
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе.
Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I
Обработка содержит реквизиты:
-. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|