我在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