Я хочу показать класс из внешней библиотеки пользователям моей библиотеки.В частности, я хочу «импортировать» класс в мое пространство имен, чтобы пользователю не нужно было знать, какие библиотеки я использую за кулисами.Часто кажется, что я могу сделать это, используя typedef
или просто using
класс.Есть ли причина для выбора одного метода над другим (или делать что-то еще)?(Кажется, у меня есть некоторые пробелы в моем образовании :))
Например: я хочу создать менеджер последовательного порта, который использует Boost :: Asio.
namespace MySerialManager {
//should I use a typedef
typedef boost::asio::serial_port_base::flow_control flow_control ;
//or a using...
using boost::asio::serial_port_base::flow_control;
class SerialManager
{
//let the user specifify the flow on construction
SerialManager(const flow_control& fc);
}
}
или я должен заниматься чем-то другим ... Большое спасибо.