我在C++中编写了一些DI容器,我很好奇它是否可以在现代C++中创建从一种类型到另一种类型的别名。 我基本上想要做的是能够通过它的别名接口调用实现构造函数。像这样:创建一个别名到另一个类型
di::Register<Interface, Impl>();
di::Resolve<Interface>(); // -> Impl should be resolved
的问题是,我已经无法找到到目前为止办法别名接口并实现了一套在编译的时候。我可以使用RTTI来做到这一点,但我真的不想使用它。它有可能吗?
你可能通过诸如[\ [Boost \] .DI](https://github.com/boost-experimental/di)之类的东西读取乐趣。 – chris
我在[DI容器库](https://github.com/gracicot/kangaru/wiki/03.-Override-Services#default-service-type)中使用'kgr :: Default'做了一些非常类似的事情 –
@GuillaumeRacicot是的,但我不想在这种情况下使用继承,我认为它使界面非常庞大。 – s0nicYouth