#include<boost/bind.hpp>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace boost;
using namespace std;
struct point
{
int x,y;
point(int a=0,int b=0):x(a),y(b){}
void print(){
cout << "(" << x << "," << y << ")\n";
}
void setX(int a){
cout << "setX:" << a << endl;
}
void setXY(int x,int y){
cout << "setX:" << x << ",setY:" << y << endl;
}
void setXYZ(int x,int y,int z){
cout << "setX:" << x << ",setY:" << y << "setZ:" << z << endl;
}
};
int main()
{
point p1,p2;
bind(&point::setX,p1,_1)(10);
bind(&point::setXY,p1,_1,_2)(10,20);
bind(&point::setXYZ,p2,_1,_2,_3)(10,20,30);
vector<point> v(10);
//for_each的时候只需要_1就可以了
for_each(v.begin(),v.end(),bind(&point::print,_1));
for_each(v.begin(),v.end(),bind(&point::setX,_1,10));
for_each(v.begin(),v.end(),bind(&point::setXY,_1,10,20));
for_each(v.begin(),v.end(),bind(&point::setXYZ,_1,10,20,30));
}
分享到:
相关推荐
首先,我们需要创建一个`boost::asio::ip::tcp::endpoint`对象,指定服务器的IP地址和端口号,然后调用acceptor的`open`方法打开对应的协议族,`bind`方法绑定到指定端口。 2. **监听客户端连接** 调用`acceptor`...
10. **测试工具**:boost::test库是一个集成的单元测试框架,简化了测试代码的编写和执行。 通过阅读"boost库操作指南.chm",你可以逐步了解和掌握Boost库的每个组件,学会如何在实际项目中应用这些工具,解决C++...
2. **算法与函数**:Boost包含各种算法,如迭代器算法(`boost::algorithm`)、元编程函数库(`boost::mpl`)以及函数对象和适配器(如`boost::bind`和`boost::lambda`)。这些工具极大地扩展了C++的标准库功能。 3...
Boost是一个开源的C++库集合,它提供了许多高质量、经过充分测试的工具,以扩展C++的标准库功能,帮助开发人员实现更高效、更灵活的代码。 Boost库不仅包含各种实用的容器、算法和数据结构,还提供了模板元编程、多...
Boost库是C++社区贡献的一个开源项目,包含了大量高质量的、经过严格测试的模板库,旨在提升C++的标准库功能,提供更高级别的抽象和工具,以支持现代软件开发的需求。 1. **Boost库概述**:Boost库由一系列独立的...
Boost库是C++社区的一个重要贡献,它提供了一系列经过充分测试、高质量的库,这些库在很多情况下被接纳为C++标准库的一部分。 1. **Boost标准库.chm**: 这个文档详细介绍了Boost库中的各个组件,包括容器、算法、...
1. **泛型编程**:Boost库鼓励使用模板和泛型编程,提供了一系列如`boost::mpl`(元编程库)、`boost::function`和`boost::bind`等工具,使代码更加灵活和可重用。 2. **智能指针**:Boost库包含多种智能指针,如`...
Boost库是一个免费的、同行评审的、跨平台的C++源代码库,它提供了大量高质量的、经过严格测试的通用库。Boost库的目标是为C++标准库提供补充,并且已经被广泛地应用于各种项目中,包括但不限于操作系统、编译器和...
Boost是C++社区中的一个非常重要的开源项目集合,它提供了一系列高质量、经过广泛测试且具有良好文档支持的库。这些库扩展了C++标准库的功能,并提供了许多现代软件开发中常用的工具和技术。Boost库不仅能够帮助...
1. **高质量代码**:Boost库的每个组件都经过了广泛的测试和审查,确保了代码的质量和可靠性。 2. **标准库前驱**:许多Boost库已被采纳进入C++标准库,如`shared_ptr`、`unique_ptr`、`variant`和`tuple`等。 3. **...
Boost是一个由C++社区维护的库集合,包含了大量的高效、跨平台、经过充分测试的库,用于解决各种编程问题。Boost.Threadpool是其中的一个组件,它提供了一种机制,允许程序员有效地调度和执行大量异步任务,从而提高...
这部分涵盖了Boost库中其他各种有用的工具和技术,比如线程支持、时间日期处理、测试框架等。这些工具虽然不直接与核心编程技术相关,但对于构建健壮的应用程序来说同样非常重要。 ### 通用库 #### Smart_ptr ...
- **函数式编程**:利用Boost.Lambda和Boost.Bind来实现简洁而强大的函数式编程风格。 - **并发编程**:讲解`boost::thread`和`boost::mutex`等工具,以便更好地处理多线程和并发问题。 ##### 4. 应用开发实践 - **...
- **高质量**:Boost库经过严格测试,具有高度的稳定性和可靠性。 - **社区支持**:Boost有一个活跃的开发者社区,不断更新和完善库功能。 2. **主要Boost库组件**: - **智能指针**(Smart Pointers):如`...
Boost库提供了许多函数对象和适配器,如boost::bind、boost::lambda等,它们简化了函数调用和操作符重载,提高了代码的可读性和灵活性。 10. **测试框架**: Boost.Test库提供了一套全面的单元测试框架,帮助...
1. **高质量**:Boost库由社区维护,经历了长时间的测试和优化,确保了其高质量。 2. **可移植性**:Boost库支持多种编译器,可以在不同的操作系统和硬件平台上运行。 3. **开源免费**:Boost库遵循Boost软件许可...
1. **库分类**:Boost库包括了算法、容器、并发、数据结构、函数对象、I/O、迭代器、数学与数值计算、多态函数指针、智能指针、序列化、字符串处理、测试工具、类型转换、元编程等各类工具库。 2. **Boost.Date_...
15. **测试和诊断**:Boost.Test库提供了一套强大的单元测试框架,帮助开发者编写和组织测试用例。 16. **实用工具**:如预处理器宏工具(preprocessor)、配置和构建系统(build system)等,简化项目管理和构建...
Boost库被广泛应用于工业级软件开发,因其高质量、经过充分测试的代码而备受赞誉,也是C++标准库的重要贡献者。在深入探讨Boost库之前,我们首先需要了解C++的基础知识,包括类、模板、STL(Standard Template ...