Шаблоны управления памятью в C ++
Я думаю, что у меня есть значительный опыт работы с обычными (функциональными) разработанными шаблонами, как описано, например, вбанда из четырех книг, который я в основном использовал в Java и C #. В этих "удалось" языки - это почти все, что вам нужно знать, чтобы выполнить свою работу.
Однако в мире C ++ разработчик также имеет контроль над тем, как все объекты распределяются, передаются и удаляются. Я понимаю принципы (читаюStroutrup среди других текстов), но мне все еще нужно много усилий, чтобы решить, какой механизм лучше всего подходит для данного сценария, и именно здесь был бы полезен портфель шаблонов проектирования, связанных с памятью.
Например, вчера я должен был создать классResults
это был контейнер для нескольких объектов и коллекции (в данном случае std :: vector) объектов еще одного типа. Есть несколько вопросов о дизайне, которые я не смогт действительно ответить:
Конечно, умные указатели - это круто, а что нет, но они создают синтаксический беспорядок, и я не уверен, является ли использование malloc для каждого отдельного объекта оптимальным подходом.
Я был бы признателен за ответы по конкретным пунктам выше, но еще больше за более длинные и общие тексты о шаблонах проектирования, связанных с памятью, - чтобы я мог решать проблемы, которые у меня будут и по понедельникам!