C++版本的<?扩展了OtherClass>

C++'s version of <? extends AnotherClass>

本文关键字:OtherClass gt 扩展 版本 lt C++      更新时间:2023-10-16

我只是从Java跳到C++。 我现在对C++相当有信心,我正在尝试制作一个模板类。 C++有没有办法保证模板参数扩展某个类? 在Java中,我可以使用类MyClass<?扩展另一个类>。 如果没有,有没有办法绕过这个限制?

谢谢!

你可以static_assert(std::is_base_of<Base, T>::value, "Argument must extend base!"); .

但是,请注意,相对于在 Java 中执行此操作,C++这几乎毫无价值。几乎没有真正需要它的用例。