今天接续介绍有关字符串表示相关的两个boost库: lexical_cast 将数值转换成字符串 format 字符串输出格式化 首先,介绍下lexical_cast ,闻其名,知其意.类似C中的atoi 函数,可以进行字符串与整数/浮点数之间的字面转换 Boost::lexical_cast库 前期准备 lexical_cast库位于boost命名空间下,使用需要引入头文件 #include <boost/lexical_cast.hpp> using namespace boost; 函数…
概述 在未使用Boost库时,使用STL的std::string处理一些字符串时,总是不顺手,特别是当用了C#/Python等语言后trim/split总要封装一个方法来处理.如果没有形成自己的common代码库,那就悲剧了,每用一次都要写一次,虽然难度不大,但是每次重复这样工作也还是比较费劲.一般通过STL进行封装如下: // trim from start inline std::string &LeftTrim(string &s) { s.erase(s.begin(), std:…
<超越C++标准库Boost库导论>不仅介绍了Boost库的功能.使用方法及注意事项,而且还深入讨论了Boost库的设计理念.解决问题的思想和技巧以及待处理的问题.因此,本书是一本了解Boost库并探索其机理的实用手册. 百度云及其他网盘下载地址:点我 第ⅰ部分 通用库 第1章 smart_ptr库 1.1 smart_ptr库如何改进程序 1.2 何时需要智能指针 1.3 smart_ptr库如何适用于标准库 1.4 智能指针scoped_ptr 1.5 智能指针scoped_array 1…
转: STL是一个标准,各商家根据这个标准开发了各自的STL版本.而在这形形色色的STL版本中,SGI STL无疑是最引人瞩目的一个.这当然是因为这个STL产品系出名门,其设计和编写者名单中,Alexander Stepanov和Matt Austern赫然在内,有两位大师坐镇,其代码水平自然有了最高的保证.SGI STL不但在效率上一直名列前茅,而且完全依照ISO C++之规范设计,使用者尽可放心.此外,SGI STL做到了thread-safe, 还体贴地为用户增设数种组件,如hash, h…
Background 工作中经师傅指导学习应用到了Boost::Polygon这个库,相对于Boost::Geometry,Polygon出自Intel.抽象于芯片流程,于是更贴近于芯片设计流程应用. 比如:多边形切割(矩形切割.梯形切割.多边形划分).多边形合并.多边形重叠.多边形覆盖等. 尤其在LEF文件的自动化生成中,一些IDE工具只识别使用RECT.POLYGON来描述芯片.OBS.Pin,那就需要用户使用工具生成,如果有自己的定制需求就可能要自己造工具实现,实现过程中有了这个库,就是神…
网络通信简述 asio库支持TCP,UDP和ICMP通信协议,它在名字空间boost::asio::ip里提供了大量的网络通信方面的函数和类,很好的封装了原始的Berkeley Socket API,展现给asio用户一个方便易用且健壮的网络通信库. ip::tcp类是asio网络通信(TCP)部分主要的类,但它本身并没有太多的功能,而且定义了数个用于TCP通信的typedef类型,用来协作往常网络通信.这些typedef包括端点类endpoint,套接字类socket,流类iostream,以…
asio库基于操作系统提供的异步机制,采用前摄器设计模式(Proactor)实现了可移植的异步(或者同步)IO操作,而且并不要求使用多线程和锁定,有些的避免了多线程编程带来的诸多有害副作用(如条件竞争.死锁等). 目前asio主要关注网络通信方面,使用大量的类和函数封装了socket API,提供了一个现代C++风格的网络编程接口,支持TCP,ICMP,UDP等网络通信协议.但asio的异步操作并不局限于网络编程,他还支持串口读写,定时器,SSL等功能,而且asio是一个很好的富有弹性的框架,可…
Dev-C++安装第三方库boost  转 https://www.jianshu.com/p/111571e4d6f5?utm_source=oschina-app 之前鉴于codeblocks界面比较漂亮,一直采用的是codeblocks(编译器)+mingw(自选编译器,链接库)的模式,今天多线程编程遇到一个问题:mingw还不支持pthread,因此会报错mutex doesn't name a type关于多线程的库函数不被支持.换成了dev_C++,果然这么丑还一直出现在机房的编译器…
异步服务器端 #include <conio.h> #include <iostream> using namespace std; #include <boost/asio.hpp> #include <boost/shared_ptr.hpp> #include <boost/bind.hpp> using namespace boost; using namespace boost::asio; void test1(){} //异步ser…
收集一些C/C++相关的源码,如有更高效的库,请提醒我 补充上去 C/C++相关交流Q群 1414577 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbenc…