![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
k0rvin, отлично!
чего тут непонятного.
вот так и следует понимать: raii можно реализовать известным образом встроенными средствами c++ для решения проблемы управления ресурсами. собственно скелет паттерна выглядит так
что касается слов "raii это идиома", их следует понимать так: raii - это устойчивое выражение, имеющее смысл обсуждаемой технологии управления ресурсами. не следует искать смысл в словах самого выражения Resource acquisition is initialization, они условны. "идиома" - лингвистическое понятие, а не техническое. Это сообщение отредактировал(а) baldina - 4.4.2014, 15:44 |
||||||
|
|||||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
||||
|
||||
| Lukkoye |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 23.3.2013 Репутация: 1 Всего: 1 |
Ааа... понял о чем вы. Только вот вы слегка путаетесь в понятиях. Раии - идеома. Вот "реализация идеомы" - это уже технология, которая реализована за счет компиляторов. То, что вы показали выше - это не пример реализация раии. Реализация раии, грубо говоря внутри компилятора. То, что вы показали - это пример одного из возможных использований особенностей раии. А сам паттерн, если не ошибаюсь, называется "scope guard". Ну да бог с ним, не суть это все буквоедство. Я понял вашу точку зрения. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
идиома паттерн raii вроде бы не я путаюсь. "raii зашит в компилятор" - это забавная точка зрения. отчего тогда в программах на с++ возникают утечки ресурсов? Добавлено через 6 минут и 56 секунд сейчас вы будете мне рассказывать, что компилятор вставляет вызовы конструкторов и деструкторов, и они вызываются автоматически, только это семантика не raii, а конструкторов и деструкторов. с помощью которых мы можем следовать raii или наплевать на него.
Это сообщение отредактировал(а) baldina - 5.4.2014, 15:02 |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
||||
|
||||
| Lukkoye |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 23.3.2013 Репутация: 1 Всего: 1 |
Потому что язык с++ - это мультипарадигменный высокоуровневый ассемблер с прямым доступом к памяти. Идеома raii в нем реализована за счет автоматических экземпляров классов - объектов, для которых конструктор и диструктор вызываются автоматически. Однако, язык не заставляет обязательно использовать автоматические экземпляры классов, равно как и вообще писать в оо-стиле. На этом языке вы можете писать в самых разных стилях, например: в стиле си. Поэтому, я так отвечу на ваш вопрос: утечки в программах на с++ возникают потому, что некоторые товарищи используют низкоуровневую ручную работу и пишут суржик в стиле си, вместо того, что бы использовать всю мощь объектно ориентированного с++ вкупе с его стандартной библиотекой. Это сообщение отредактировал(а) Lukkoye - 6.4.2014, 13:33 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
1 троль + 1 провокационный вопрос = 3 страницы переливания из пустого в порожнее, местами переходящее во флейм
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |