Как узнать, используется ли пространство имен в динамической или статической библиотеке?

В таких языках, как java, имя пакета является доменным именем, например com.foobar.mystuff.

Так что если у вас есть com.foobar, очень маловероятно, что кто-то использовал бы имя пакета com.foobar, вы можете быть уверены, что не будет столкновения.

Но в c++ можно выбрать любое имя пространства имен. Как узнать, что библиотека, на которую вы ссылаетесь, уже не использует определенное имя пространства имен ? Есть ли способ проверить его, особенно если у вас нет доступа к исходному коду или документации ? Есть ли какие-то рекомендации, чтобы избежать этой проблемы ?

Метки

1 ответ

  1. Есть ли какие-то рекомендации, чтобы избежать этой проблемы?

    Хотя это может удивить вас, обнаружив, что одна из библиотек третьих сторон, которую вы используете, использует a namespaceв качестве приложения, это не должно вызвать слишком много проблем, если таковые имеются.

    В наихудшем случае, вам придется создать namespaceто, что относится к вашему приложению, и создать вложенные namespaces под main namespace.