c++
天夏123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++11 lambda 表达式解析
C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。本文作为 5 月的最后一篇博客,将介绍 C++11 的 lambda 表达式。很多语言都提供了 lambda 表达式,如 Python,Java 8。lambda 表达式可以方便地构造匿名函数,如果你的代码里面存在大量的小函数,而这些函数一般只被调用一转载 2017-04-30 17:27:06 · 354 阅读 · 0 评论 -
static_cast, dynamic_cast, const_cast, reinterpret_cast
首先static_cast强制类型转换的功能基本上和C中使用()小括号强制转换相似。因此static_cast(ival)和语句(int)ival=7是一样的。如果你是初学,对于static_cast强制转换,记住这一条就够用了。如果想学得更深,可以去本人的文库下载相应的文章。下面本人再给你多介绍一些强制类型转换的功能,以及C++中的不同强制类型用于哪些地方(当然,这需要你有一定的基础才能理解下面转载 2017-04-29 21:42:36 · 277 阅读 · 0 评论 -
C++11中万能的可调用类型声明std::function<...>
在C++11中,callable object 包括传统C函数,C++成员函数,函数对象(实现了()运算符的类的实例),lambda表达式(特殊函数对象)共4种。程序设计,特别是程序库设计时,经常需要涉及到回调,如果针对每种不同的callable object单独进行声明类型,代码将会非常散乱,也不灵活。如下示例:#include #include using namespace st转载 2017-04-30 17:37:54 · 898 阅读 · 0 评论 -
C++bind
C++11中提供了std::bind。bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。bind的思想实际上是一种延迟计算的思想,将可调用对象保存起来,然后在需要的时候再调用。而且这种绑定是非常灵活的,不论是普通函数、函数对象、还是成员函数都可以绑定,而且其参数可以支持占位符,比如你可以这样绑定一个二元函数auto f = bind(&func, _1, _2)转载 2017-04-30 23:11:59 · 4022 阅读 · 0 评论
分享