c – 非整数/枚举类型的非类型模板参数的用例?
发布时间:2020-12-16 03:22:13 所属栏目:百科 来源:网络整理
导读:C允许非类型模板参数为整数或枚举类型(包括布尔和字符的整数),以及指向任意类型的指针和引用. 我已经看到广泛使用的整数,布尔和枚举参数,我很欣赏它们的实用性.我甚至已经看到了compile-time parsing of strings的字符参数的巧妙使用. 但我想知道什么是非类
C允许非类型模板参数为整数或枚举类型(包括布尔和字符的整数),以及指向任意类型的指针和引用.
我已经看到广泛使用的整数,布尔和枚举参数,我很欣赏它们的实用性.我甚至已经看到了compile-time parsing of strings的字符参数的巧妙使用. 但我想知道什么是非类型模板参数的一些用例,它们是指针或对任意类型的引用? 解决方法
使用指向成员函数的指针作为模板参数,编译器可以内联对该函数的调用.在我对这个问题的回答中可以看到这种用法的一个例子:
How to allow templated functor work on both member and non-member functions
在此示例中,模板参数中的指向成员函数的指针使得能够生成包含对指向成员函数的指针的调用(内联)的“thunk”函数.指向thunk函数的指针具有通用签名(和固定大小),这使得能够以最小的运行时成本存储和复制它,而不像指向成员函数的指针. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |