Когда вы хотите кроссплатформенную основу для объектно-ориентированных API.В качестве примера можно привести Core Foundation от Apple .Будучи полностью C, он может быть легко перенесен, но предоставляет чрезвычайно богатый набор непрозрачных объектов для использования.
Хорошим примером его гибкости является то, что многие из его типов «бесплатны», соединены с типами из Foundation (набора истинных библиотек OO Objective-C).Многие типы из Core Foundation могут быть использованы, вполне естественно, в API-интерфейсах Foundation и наоборот.Трудно увидеть, как это работает так хорошо без каких-либо концепций ОО, присутствующих в библиотеках Core Foundation.