C允许非类型模板参数为整数或枚举类型(包括布尔和字符的整数),以及指向任意类型的指针和引用.
我已经看到广泛使用的整数,布尔和枚举参数,我很欣赏它们的实用性.我甚至已经看到了compile-time parsing of strings的字符参数的巧妙使用.
但我想知道什么是非类型模板参数的一些用例,它们是指针或对任意类型的引用?
@H_403_6@解决方法
使用指向成员函数的指针作为模板参数,编译器可以内联对该函数的调用.在我对这个问题的回答中可以看到这种用法的一个例子:
How to allow templated functor work on both member and non-member functions
在此示例中,模板参数中的指向成员函数的指针使得能够生成包含对指向成员函数的指针的调用(内联)的“thunk”函数.指向thunk函数的指针具有通用签名(和固定大小),这使得能够以最小的运行时成本存储和复制它,而不像指向成员函数的指针.
@H_403_6@ @H_403_6@ 原文链接:https://www.f2er.com/c/111697.html