Questions tagged «crtp»


7
Java枚举定义
我以为我很了解Java泛型,但是随后在java.lang.Enum中遇到了以下内容: class Enum<E extends Enum<E>> 有人可以解释如何解释此类型参数吗?奖励积分,用于提供其他示例,说明可以使用类似类型的参数。
151 java  generics  enums  crtp 


5
C ++静态多态性(CRTP)并使用派生类中的typedef
我阅读了Wikipedia上有关C ++中反复出现的模板模式以实现静态(阅读:编译时)多态性的文章。我想对其进行概括,以便可以基于派生类型更改函数的返回类型。(由于基本类型从template参数知道派生类型,因此这似乎应该可行)。不幸的是,以下代码无法使用MSVC 2010进行编译(我现在无法轻松访问gcc,因此我还没有尝试过)。有人知道为什么吗? template <typename derived_t> class base { public: typedef typename derived_t::value_type value_type; value_type foo() { return static_cast<derived_t*>(this)->foo(); } }; template <typename T> class derived : public base<derived<T> > { public: typedef T value_type; value_type foo() { return T(); //return some T object (assumes T is default constructable) } …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.