Здравствуйте, cppguard, Вы писали:
C>Каждый класс обращается к своему устройству, поэтому переиспользования не будет совершенно точно.
Если бы каждый раз, когда я это слышал, я получал доллар...
В Direct3D мохнатой версии (не знаю, как сейчас) корневой интерфейс возвращался из глобальной функции, а не через CoCreateInstance(), потому, что — а вы видели ценник на видеоускорители? Только Рокфеллеры могут купить сразу два и запускать на них разные задачи! И вообще, как вставить в одну мамку два видеоускорителя, когда там только один AGP!
Как по мне, усилия, направленные на синглтонность, всегда лучше направить на написание энумерации, которая бы возвращала единственный вариант.