Boost
文章平均质量分 63
MeachiealFactory
学海无涯,回头是岸!!!
展开
-
Boost bind使用方法
bind是C++98 标准库中函数适配器,bind1st和bind2nd的泛化和增强,可以适配任意的可调用对象,包括函数指针吗, 函数引用,成员函数,指针和函数对象。bind远远超过了STL中的函数绑定,最多可以绑定9个参数,并且对绑定对象要求很低,bind很好的增强了 标准库的功能,已经被收入C++0XTR1草案。bind 位于boost命名空间头文件: boost/bind.h原创 2017-07-01 10:29:57 · 651 阅读 · 0 评论 -
Boost function使用方法
function 是一个函数对象的概念。function可以配合bind使用,存储bind表达式结果,使bind可以多次调用。function位于命名空间boost,头文件 #include1、function存储普通函数:int f(int a, int b) { return b + a; };int main(){ //存储普通函数 func原创 2017-07-01 15:31:32 · 486 阅读 · 0 评论 -
Boost Asio 中的线程和基本原理
说到Boost.Asio的线程时,我们经常在讨论: io_service:io_service是线程安全的。几个线程可以同时调用io_service::run()。大多数情况下你可能在一个单线程函数中调用io_service::run(),这个函数必须等待所有异步操作完成之后才能继续执行。然而,事实上你可以在多个线程中调用io_service::run()。这会阻塞所有调用io_ser原创 2017-07-01 16:06:28 · 2250 阅读 · 0 评论 -
Boost Asio学习
boost.asio手册中的内容手册地址:http://www.boost.org/doc/libs/1_61_0/doc/html/boost_asio.html里面有所有源代码; 或者:https://github.com/NearXdu/AsioLearn 已经编译并测试。ps:最近github的样式表偶尔加载不出来,好在翻译的作者,在csdn上也写了博客: http原创 2017-07-01 17:01:27 · 349 阅读 · 0 评论 -
Boost 组件 lexical_cast
1、字符串→数值在CSDN论坛上经常看到询问如何在字符串类型和数值类型间进行转换的问题,也看到了许多不同的答案。下面先讨论一下从字符串类型到数值类型的转换。如何将字符串"123"转换为int类型整数123?答案是,用标准C的库函数atoi;如果要转换为long类型呢?标准C的库函数atol;如何将"123.12"转换为double类型呢?标准C的库函数atod;如果要转换为原创 2017-06-26 16:25:42 · 349 阅读 · 0 评论 -
Boost asio 同步和异步socke处理的流程
一、同步处理socket1、服务端int main(){ try { std::cout << "Serveer start." << std::endl; io_service ios; ip::tcp::acceptor acceptor(ios, ip::tcp::endpoint(ip::tcp::v4(), 668原创 2017-06-27 20:04:56 · 1140 阅读 · 0 评论 -
boost 智能指针使用
1、scoped_ptr 基本功能类似auto_ptr。首先确保任何时候对象都能被正确的删除。且 scoped_ptr所有权不能转让,一旦获取,无法从它那里取回。 //scoped_ptr 不能作为容器的元素,不允许不支持拷贝和赋值,因为拷贝和赋值函数是私有的。 //即,不存在 sp1 = sp2 这样的操作。 scoped_ptr<string> sp(new...原创 2017-07-18 16:13:20 · 517 阅读 · 0 评论 -
Boost Thread使用
1、创建线程当创建了一个Thread对象后, 线程立刻开始执行;mutex mu; void print(atom_int & x, const string & str) { try { mu.lock(); std::cout mu.unlock();原创 2017-07-18 16:55:59 · 367 阅读 · 0 评论