Какова наилучшая практика для открытого API С++?
Я работаю над проектом С++, который имеет несколько пространств имен, каждый из которых имеет несколько объектов. Некоторые объекты имеют одинаковые имена, но находятся в разных пространствах имен. В настоящее время каждый объект имеет свой собственный .cpp файл и .h файл. Я не уверен, как это сказать... Было бы целесообразным создать второй файл .h, чтобы открыть только публичный API? Должны ли они быть .h файлом для пространства имен или для объекта или какой-либо другой области? Что может быть лучшей практикой для создания публичных API для библиотек С++?
Спасибо за любую помощь, Chenz