Yon*_*ing 4 c++ templates metaprogramming
最近,我在其他源代码中遇到了一些问题.我不太了解C++中的模板.你能救我吗?
struct my_grammar : public grammar<my_grammar>
{
...
};
Run Code Online (Sandbox Code Playgroud)
为什么my_grammar可以用作类型参数呢?
最好的祝福,
Ton*_*roy 11
这是一个名为Curiously Recurring Template Pattern的成语 - 请参阅http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern.总之,它将派生类作为策略提供给基类,其风格类似于Alexandrescu的Modern C++ Design书中使用的Policy(强烈推荐).这样,基类可以使用派生类的各个方面 - 类型,常量,方法 - 所有这些都在编译时解析.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |