Это зависит. Сколько объектов вы рендерите? 100s? 1000s? 1,000,000s? Какая платформа? Какой уровень производительности вам требуется?
Если предположить, что вы смотрите на нижний предел спектра для номеров объектов и вы более опытны в C ++, то я бы с этим согласился. Сохраняйте это простым - просто заставьте это работать. Если вам нужно оптимизировать его позже, сделайте это, когда будете знать, где находятся ваши узкие места.
Если вы смотрите на большое количество объектов, которые необходимо визуализировать, то я бы позаботился о том, чтобы я использовал непрерывные однородные массивы данных, чтобы минимизировать перегрузку кеша (как Justicle, так и Malte Clasen дали несколько хороших ссылок, следует прочитать (особенно первые 2 :). Вы можете по-прежнему предоставлять интерфейс ОО, если хотите, но убедитесь, что движок сфокусирован на рендеринге с помощью итерации по вашим плоским массивам.
Я бы очень осторожно использовал наивную реализацию дерева сценариев, если вам нужна производительность - их, хотя и легко понять, зачастую больно оптимизировать без полного переписывания.
Итак, чтобы ответить на ваш вопрос, нет недостатка в использовании C ++ над C, но есть потенциальная проблема производительности при использовании объектно-ориентированных методологий, если использовать их наивно.