
boost
小瑾
这个作者很懒,什么都没留下…
展开
-
Boost程序库学习-fileSystem
文件操作对文件的操作是代码中经常遇到的问题。尤其是常用的判断文件对否存在等。boost提供部分操作接口,极大的方便了需求。首先需要加入system与filesystem库:target_link_libraries(boostTest boost_filesystem boost_system)1.路径基本路径操作 父路径:parent_path(),文件名称:filename(),文件系统的路原创 2016-09-02 14:48:38 · 941 阅读 · 0 评论 -
Boost程序库学习-bind与function
平时我们使用函数指针与函数对象的时候,需要定义:typedef void (*Func)(int,int);代码的可读性很差,boost::bind有如一个适配器,可以调用普通函数、成员函数、函数对象。而结合function可以作为一个回调函数。 所谓函数对象就是一个重载了operator()操作符的对象 。1.bind先见一个简单的例子:#include <boost/assign.hpp>#原创 2016-09-05 16:03:50 · 549 阅读 · 0 评论 -
shared_ptr
Shared_ptr使用编写C++程序中最头疼的事情莫过于内存的管理,有时候很羡慕隔壁写C#的,只需要关心功能是否实现,当然现在也有很多C++内存泄露的检测工具,等对STL,boost有了一定的了解,要开始去了解那部分知识。 裸指针固然效率很高,但是如果不够严谨的话,容易出现问题。不好管理的地方:创建对象,函数中有if或者switch语句,在异常处理的时候直接return,忘记释放需要多处调用原创 2016-08-26 14:50:26 · 677 阅读 · 0 评论 -
Boost程序库学习-foreach
foreachC#,java等对容器中的元素遍历都进行了较好的支持,一个foreach,C++的新标准也采用了for(auto &),但是对于旧的标准我们依旧无法进行简便 的处理。 boost的foreach应运而生。1.使用foreach提供宏:BOOST_FOREACH,实现正向遍历。void foreachTest(){ using namespace boost:原创 2016-09-01 14:22:12 · 721 阅读 · 0 评论 -
boost程序库学习-lexical_cast
程序中,数据的强制转换很多,作为C++程序员,不能拥有像Convert.ToInt16()这么便捷的操作,往往我们使用std::atoi,atof,但是这种转换缺少异常捕获,有时候,我们还必须自己写很多检测的代码。boost提供一个lexical_cast#include #include using namespace boost;const int bit_field = 1;c原创 2016-09-12 15:39:47 · 789 阅读 · 0 评论 -
boost_处理时间
Boost 时间处理1、 引入的库文件要使用C++boost 中的时间处理函数需要引入库target_link_libraries(saveParm boost_date_time) 2、 需要引用的头文件及命名空间为#include #include using namespace boost::gregorian;using namespace boo原创 2016-12-09 16:44:04 · 1158 阅读 · 0 评论