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