Я пишу библиотеку с несколькими зависимыми модулями. Когда я включаю файл из другого модуля, должен ли я разрешать пространство имен с помощью:
using namespace project1::namespace1;
class1 obj;
или
typedef project1::namespace1::class1 class1;
class1 obj;
Каковы плюсы и минусы каждого подхода? Я где-то читал, что мы должны использовать typedef
в файлах.H и using
в файлах.C, целесообразно ли это?
Одна проблема, с которой я столкнулся при использовании 'typedef', заключается в том, что это приводит к неоднозначности пространства имен, если я включаю в третий модуль как исходный класс, так и класс с 'typedef'.