栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++11新特性 —— result

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++11新特性 —— result

所在头文件:#include ,定义在std命名空间中。

result_of() 函数使用到了模板元编程技术,对于F(Arg1, Arg2, ..., Argn),F是一个可调用对象f(函数指针,函数引用,成员函数指针,或函数对象)的类型,Argn是其参数argn的类型,那么result_of::type表示的就是可调用对象f(arg1, arg2, ..., argn)的返回值类型。

例子:

#include 
#include 

int fn(int) {return int();}                            // function
typedef int(&fn_ref)(int);                             // function reference
typedef int(*fn_ptr)(int);                             // function pointer
struct fn_class { int operator()(int i){return i;} };  // function-like class

int main() {
  typedef std::result_of::type A;  // int
  typedef std::result_of::type B;         // int
  typedef std::result_of::type C;         // int
  typedef std::result_of::type D;       // int

  std::cout << std::boolalpha;
  std::cout << "typedefs of int:" << std::endl;

  std::cout << "A: " << std::is_same::value << std::endl;
  std::cout << "B: " << std::is_same::value << std::endl;
  std::cout << "C: " << std::is_same::value << std::endl;
  std::cout << "D: " << std::is_same::value << std::endl;

  return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920602.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号