判断类中是否有指定名称的函数:

#include<utility>

#define HAS_MEMBER(member)\
template<typename T,typename... Args>\
struct has_member_##member\
{\
private:\
template<typename U> \
static auto Check(int)->decltype(std::declval<U>().member(std::declval<Args>()...), std::true_type()); \
template<typename U>\
static std::false_type Check(...);\
public:\
enum{value=std::is_same<decltype(Check<T>(0)),std::true_type>::value };\
};\ HAS_MEMBER(before)
cout << has_member_before<AA>().value << endl;//是否有无参的before函数
cout << has_member_before<AA,int>().value << endl;//是否有参数是int的before函数

判断类成员函数返回值类型:

假设ContianerT为vector<int>或者const vecotr<int>

decltype(std::declval<ContainerT>().begin()) it_;

最新文章

  1. 模拟apache commons dbutils 实现自己的BeanListHandler(回调应用)
  2. HTML特殊转义字符列表
  3. Javascript学习笔记3 Javascript与BOM简介
  4. Hadoop学习笔记1-如何简单布署hadoop
  5. sc delete 服务器名提示“指定的服务已经标记为删除”
  6. c语言入门教程 / c语言入门经典书籍
  7. H3C S5500上层接路由,VLAN IP作网站配置实例
  8. Eclipse快捷键集结
  9. 敲入url到浏览器后会发生什么
  10. 【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
  11. javascript基础(四)语句
  12. FusionCharts使用问题及解决方法(三)-FusionCharts常见问题大全
  13. vim 简单笔记
  14. 【代码总结● Swing中的一些操作与设置】
  15. SUSE12Sp3-.NET Core 2.2.1 runtime安装
  16. .Net dependent configuration
  17. C# 事件的使用方法
  18. JaveWeb 公司项目(4)----- Easyui的表单验证
  19. c# devexpress 多个窗口
  20. shell命令发送网站请求

热门文章

  1. HTML5 画布canvas
  2. ZC_知识点
  3. review17
  4. ajax_基础
  5. python基础1 - 多文件项目和代码规范
  6. MySQL复制:主从和双主配置
  7. linux(centos)安装Maven
  8. Python基本语法(一)
  9. 验证实现element-ui树形控件的自定义图标及右键菜单
  10. MySQL 各种引擎