关于block的简单介绍
什么是block?
Block是C语言的一个语法特性,同时也是C语言的运行时特性,它很像C中的函数指针,因为你可以像使用函数指针一样的去使用block对象;它也很像C++中的函数对象,因为除了要执行的代码,block还可以携带和block绑定的状态信息。
代码块的结构
代码块的简单赋值与调用
// 将block块赋值给一个变量t...
分类:
其他好文 时间:
2015-03-02 16:55:01
阅读次数:
147
在C++的算法和函数之间,以类对象作为参数的情况很非常常见的问题,一般情况下传值语义是可行的,但也有很多特殊情况,作为参数的函数对象拷贝代价过高(具有复杂的内部状态),或者不希望拷贝对象(内部状态不应该被改变),甚至拷贝是不可行的(noncopyable、单件)。 boost.ref应用代理模式,....
分类:
其他好文 时间:
2015-03-02 16:40:44
阅读次数:
174
函数调用的四种方式 this在函数调用中的值 函数对象的使用...
分类:
编程语言 时间:
2015-02-27 22:56:09
阅读次数:
211
lambda函数在展开之前,我们先提一下lambda函数。可以利用lambda函数的语法,定义函数。lambda例子如下:func = lambda x,y: x + yprint func(3,4)lambda生成一个函数对象。该函数参数为x,y,返回值为x+y。函数对象赋给func。func的调...
分类:
编程语言 时间:
2015-02-26 13:18:08
阅读次数:
132
php中引用&的真正理解-变量引用、函数引用、对象引用 php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容.变量的引用 PHP 的引用允许你用两个变量来指向同一...
分类:
Web程序 时间:
2015-02-25 10:17:38
阅读次数:
197
Year 2011陈 良乔C++11 FAQstd::function 和 std::bind标准库函数bind()和function()定义于头文件中(该头文件还包括许多其他函数对象),用于处理函数及函数参数。bind()接受一个函数(或者函数对象,或者任何你可以通过”(…)”符号调用的事物),生...
分类:
编程语言 时间:
2015-02-09 17:59:36
阅读次数:
277
以前,在lambda表达式没有进入标准的时候,对容器的遍历等涉及到使用函数指针的情况,一般人会懒得使用std::for_each,或std::transform,也许只是一个短短的几句话,却要单独写个函数,或函数对象,写的代码反而不如自己用for循环来的快。
但是,C++11引入了lambda表达式后,一切都变的简单了!
1.lambda表达式
lambda表达式是一个匿名函...
分类:
编程语言 时间:
2015-02-08 14:09:30
阅读次数:
243
STL有三大核心部分:容器(Container)、算法(Algorithms)、迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有STL其他标准组件,如果你使用容器不当,就会发生list iterators incompatible/vector iterators incompatible 的错误,报错如图:
如果你trace代码,你可以看到如下代码:
bool operator==(const _Myiter& _Rig...
分类:
其他好文 时间:
2015-02-06 11:20:26
阅读次数:
201
//
// fox_timer.hpp
// ~~~~~~~~~~~~~~~~
//
// Copyright (c) 2014-2015 yoen.xu (181471112 at qq dot com)
//
//说明
//eg: fox_timer::run(io_, func, interval);
// T 为func的返回类型,当T为int的时候(范围值-1...
分类:
其他好文 时间:
2015-02-06 09:30:47
阅读次数:
232