摘要:
我在上篇博客C++不是C/C++ 提到C++的std::function给C++带来了闭包。有人留言说:“没有闭包真的很痛苦吗?不见得吧!”。我的回答是:“是的,真的很痛苦。” 首先来看闭包的两个作用:1.打包上下文 2.延迟调用。我们来设计一个linux 线程池来说明闭包的价值。 linux上线程创建的接口是: int pthread_create(pthread_t*, const pthread_attr_t*, void *(*)(void *), void *params);后面两个参数分别是一个函数指针,以及传给该函数的参数打包结构体的指针。上下文只能通过para... 阅读全文