`
soulwzy
  • 浏览: 15717 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

Boost::bind 测试代码

 
阅读更多


#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 tcp服务器的实现

    首先,我们需要创建一个`boost::asio::ip::tcp::endpoint`对象,指定服务器的IP地址和端口号,然后调用acceptor的`open`方法打开对应的协议族,`bind`方法绑定到指定端口。 2. **监听客户端连接** 调用`acceptor`...

    boost API 中文库

    10. **测试工具**:boost::test库是一个集成的单元测试框架,简化了测试代码的编写和执行。 通过阅读"boost库操作指南.chm",你可以逐步了解和掌握Boost库的每个组件,学会如何在实际项目中应用这些工具,解决C++...

    boost最新官方帮助文档1.56.0

    2. **算法与函数**:Boost包含各种算法,如迭代器算法(`boost::algorithm`)、元编程函数库(`boost::mpl`)以及函数对象和适配器(如`boost::bind`和`boost::lambda`)。这些工具极大地扩展了C++的标准库功能。 3...

    Beyond The C++ Standard Library - An Introduction To Boost (2005)

    Boost是一个开源的C++库集合,它提供了许多高质量、经过充分测试的工具,以扩展C++的标准库功能,帮助开发人员实现更高效、更灵活的代码。 Boost库不仅包含各种实用的容器、算法和数据结构,还提供了模板元编程、多...

    Boost程序库完全开发指南

    Boost库是C++社区贡献的一个开源项目,包含了大量高质量的、经过严格测试的模板库,旨在提升C++的标准库功能,提供更高级别的抽象和工具,以支持现代软件开发的需求。 1. **Boost库概述**:Boost库由一系列独立的...

    boost完美组合(你不用再找其他的boost书籍了)

    Boost库是C++社区的一个重要贡献,它提供了一系列经过充分测试、高质量的库,这些库在很多情况下被接纳为C++标准库的一部分。 1. **Boost标准库.chm**: 这个文档详细介绍了Boost库中的各个组件,包括容器、算法、...

    boost.tar.gz

    1. **泛型编程**:Boost库鼓励使用模板和泛型编程,提供了一系列如`boost::mpl`(元编程库)、`boost::function`和`boost::bind`等工具,使代码更加灵活和可重用。 2. **智能指针**:Boost库包含多种智能指针,如`...

    Boost视频教程

    Boost库是一个免费的、同行评审的、跨平台的C++源代码库,它提供了大量高质量的、经过严格测试的通用库。Boost库的目标是为C++标准库提供补充,并且已经被广泛地应用于各种项目中,包括但不限于操作系统、编译器和...

    C++标准库Boost程序库导论

    Boost是C++社区中的一个非常重要的开源项目集合,它提供了一系列高质量、经过广泛测试且具有良好文档支持的库。这些库扩展了C++标准库的功能,并提供了许多现代软件开发中常用的工具和技术。Boost库不仅能够帮助...

    C++ Boost 库中文文档

    1. **高质量代码**:Boost库的每个组件都经过了广泛的测试和审查,确保了代码的质量和可靠性。 2. **标准库前驱**:许多Boost库已被采纳进入C++标准库,如`shared_ptr`、`unique_ptr`、`variant`和`tuple`等。 3. **...

    Boost threadpool优先级实例

    Boost是一个由C++社区维护的库集合,包含了大量的高效、跨平台、经过充分测试的库,用于解决各种编程问题。Boost.Threadpool是其中的一个组件,它提供了一种机制,允许程序员有效地调度和执行大量异步任务,从而提高...

    boost程序库导论

    这部分涵盖了Boost库中其他各种有用的工具和技术,比如线程支持、时间日期处理、测试框架等。这些工具虽然不直接与核心编程技术相关,但对于构建健壮的应用程序来说同样非常重要。 ### 通用库 #### Smart_ptr ...

    Boost C++ Application Development Cookbook - Second Edition - 2017.pdf

    - **函数式编程**:利用Boost.Lambda和Boost.Bind来实现简洁而强大的函数式编程风格。 - **并发编程**:讲解`boost::thread`和`boost::mutex`等工具,以便更好地处理多线程和并发问题。 ##### 4. 应用开发实践 - **...

    boost库文件

    - **高质量**:Boost库经过严格测试,具有高度的稳定性和可靠性。 - **社区支持**:Boost有一个活跃的开发者社区,不断更新和完善库功能。 2. **主要Boost库组件**: - **智能指针**(Smart Pointers):如`...

    C++ Boost manual

    Boost库提供了许多函数对象和适配器,如boost::bind、boost::lambda等,它们简化了函数调用和操作符重载,提高了代码的可读性和灵活性。 10. **测试框架**: Boost.Test库提供了一套全面的单元测试框架,帮助...

    Boost程序库完全开发指南——深入C++“准”标准库高清版

    1. **高质量**:Boost库由社区维护,经历了长时间的测试和优化,确保了其高质量。 2. **可移植性**:Boost库支持多种编译器,可以在不同的操作系统和硬件平台上运行。 3. **开源免费**:Boost库遵循Boost软件许可...

    boost 中文手册

    1. **库分类**:Boost库包括了算法、容器、并发、数据结构、函数对象、I/O、迭代器、数学与数值计算、多态函数指针、智能指针、序列化、字符串处理、测试工具、类型转换、元编程等各类工具库。 2. **Boost.Date_...

    Boost_C++库

    15. **测试和诊断**:Boost.Test库提供了一套强大的单元测试框架,帮助开发者编写和组织测试用例。 16. **实用工具**:如预处理器宏工具(preprocessor)、配置和构建系统(build system)等,简化项目管理和构建...

    boost源代码--

    Boost库被广泛应用于工业级软件开发,因其高质量、经过充分测试的代码而备受赞誉,也是C++标准库的重要贡献者。在深入探讨Boost库之前,我们首先需要了解C++的基础知识,包括类、模板、STL(Standard Template ...

Global site tag (gtag.js) - Google Analytics