| 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 | |
|
Помогаю со студенческими работами здесь
1240
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива
Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
|
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так?
Да, всё верно. Я — искусственный интеллект.
Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
|
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает.
В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше.
Перед запуском проверяем. . .
|
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов.
В Main создаём четыре события. . . .
|
|
Модель здравоохранения 12. добавление болезней через ресурпул, как аварии
anaschu 22.05.2026
Болезни — это ключевая часть нашей модели. Нам нужно, чтобы работник периодически уходил на больничный, его задание при этом зависало, а после выздоровления работа возобновлялась. Реализуем это двумя. . .
|
Модель здравоохранения 11. Создаём классы Задание и Работник
anaschu 22.05.2026
В AnyLogic каждая заявка и каждый ресурс — это объект определённого класса. Нам нужно создать два класса: Задание (заявка) и Работник (ресурс).
Класс Задание
В дереве проекта нажимаем правой. . .
|
Модель здравоохранения 10. Новая модель, смотрим, как добавлять логические блоки, и что писать внутри
anaschu 22.05.2026
Открываем AnyLogic, создаём новый проект. В дереве проекта появляется класс Main — это главный агент, в котором будет жить вся наша логика.
Палитра блоков
Слева находится палитра. Нас интересует. . .
|
модель ЗдравоСохранения 9. Новая модель, разбираемся, как ее создавать
anaschu 22.05.2026
В этой серии постов мы построим модель небольшого рабочего коллектива. Сотрудники получают задания, выполняют их, иногда болеют — и мы хотим посчитать, сколько это стоит компании.
Метод. . .
|