boost 订阅
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。但Boost中也有很多是实验性质的东西,在实际的开发中使用需要谨慎。 展开全文
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。但Boost中也有很多是实验性质的东西,在实际的开发中使用需要谨慎。
信息
发起人
C++标准委员会库工作组
本    质
C++库
特    点
可移植、提供源代码
价    格
免费
使    用
大多只需包括相应头文件即可
外文名
boost
boost基本介绍
Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。在Boost库的开发中,Boost社区也在这个方向上取得了丰硕的成果。在送审的C++标准库TR1中,有十个Boost库成为标准库的候选方案。在更新的TR2中,有更多的Boost库被加入到其中。从某种意义上来讲,Boost库成为具有实践意义的准标准库。可下载Boost C++ Libraries安装boost库。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。
收起全文
精华内容
参与话题
问答
  • C++ boost库教程(一):boost简介

    万次阅读 多人点赞 2019-05-03 20:43:31
    很多C++的工作,都要求会boost,最近整理了自己的boost工作笔记,分享给有缘的码友,有不当之处请各位指正,有疑问可以在评论区留言,我及时回复,大家一起探讨。 认为有点价值的,可以业余时间看看,有问题,...

    0. 写在前面的话        

           很多C++的工作,都要求会boost,最近整理了自己的boost工作笔记,分享给有缘的码友,有不当之处请各位指正,有疑问可以在评论区留言,我及时回复,大家一起探讨。

          认为有点价值的,可以业余时间看看,有问题,错误的请指出,我会及时回复。

          大概会写30篇左右,可以去我的boost库专栏看,可以关注

     

    1.什么是boost库

           boost库是一个优秀的。可移植,开源的C++库,它是由C++标准委员会库工作自成员发起,它是对STL的延续和扩充,设计理念和STL比较接近,都是利用泛型让复用达到最大化,其中有些内容经常成为下一代C++标准库内容,在C++社区影响很大,是不折不扣的“准”标准库。

           相比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。

     

    2. boost库的主要内容

    (1)字符串及文本处理

    (2)容器、迭代子(Iterator)

    (3)算法

    (4)函数对象和高阶编程、泛型编程、模板元编程、预处理元编程

    (5)并发编程,多线程

    (6)数学相关

    (7)纠错和测试

    (8)输入/输出、跨语言支持、内存相关、语法分析、杂项

     

    3. boost库的优势

           可移植,开源免费,高效。其实也没什么,都是写代码的,就是需要应用到项目中,再多的花里胡哨的优点,不能应用也没什么用。

     

    4. 哪里可以获取boost的源码和库文件?

         boost官网  https://www.boost.org/

         在右侧找到download选项,进行下载, 如下所示。

                                                                        

      再根据自己的电脑下载相应的版本,例如我下载的是boost的windwos版:

                        

     

    5.如何搭建boost的开发环境?

            我是在windows上开发,IDE是VS2015,boost版本1.70.  boost的开发环境搭建比较简单,将下载好的boost库解压,放到任何一个地方,在VS中右键属性---C/C++---常规----附加包含目录,包含boost的目录即可。例如我的环境如下:

                          

           由于boost的实现是基于模板,声明和实现都放到了头文件hpp中,所以包含头文件件相当于是链接了boost的源码,不需要在链接dll, lib什么的.

           下一篇博客介绍如何进行boost编程。

    展开全文
  • C++ Boost库编程视频精讲

    千人学习 2018-07-01 23:32:43
    Boost库是一个优秀的、可移植、开源的C++库, 它由C++标准委员会库工作组成员发起,其中有些内容经常成为下一代C++标准库的内容,在C++社区中影响甚大,是不折不扣的“准”标准库。Boost库由于其对跨平台,对标准C++...
  • boost 简介及安装

    千次阅读 2018-06-08 11:47:30
    boost简介boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库。boost安装(vs2017+boost_1_64_0+win10)1、到官网下载boost,http://www.boost.org/ 2、解压,解压到d:\boost目录下,这个解压到...

    boost简介

    boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库。

    boost安装(vs2017+boost_1_64_0+win10)

    1、到官网下载boost,http://www.boost.org/
    2、解压,解压到d:\boost目录下,这个解压到自己认为合适的目录就行。
    3、环境配置
    VS2017更加注重跨平台性,安装文件较多,VC有三个版本,分别是arm、Hostx64、Hostx86,本文使用Hostx64。
    默认安装时,编译器cl.exe并不在环境变量中,需要配置。
    添加环境变量PATH: D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

    运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017 运行Developer Command Prompt for VS2017也可。
    4、输入命令 cd d:\boost\boost_1_64_0
    5、输入bootstrap.bat运行
    这里写图片描述

    6、在d:\boost\boost_1_64_0目录中生成了b2.exe和bjam.exe
    这里写图片描述

    7、在目录C:\boost\boost_1_64_0下有一个项目配置文件project-config.jam,用记事本或其他文本编辑工具打开,做如下修改:
    这里写图片描述

    其中第二行的目录是你VS2017的安装目录中cl.exe的位置。
    8、运行 b2.exe stage –toolset=msvc-14.0address-model=64 –stagedir=”C:\boost\bin1.63.0\VC14.0”threading=multi –build-type=complete

    具体介绍:
    –toolset:设置编译器,如果用VC,设msvc, 用MinGW就设gcc。

    stage:可选install,选stage只生成库(静态库和动态库),install还包含include目录,其实,可以直接用我们下载下来的BOOST包里的boost目录,这个目录和install生成的include目录内容基本一样。所以也就不用了。

    –build-dir=”[temporary folder name”:编译的临时文件存放位置。

    –stagedir=” stage folder name]”:存放编译后库文件的路径,默认是stage。

    –build-type=complete:编译所有版本

    {

    variant=debug|release 决定编译什么版本(Debug or Release?)

    link=static|shared 决定使用静态库还是动态库。

    threading=single|multi 决定使用单线程还是多线程库。

    runtime-link=static|shared 决定是静态还是动态链接C/C++标准库。

    }

    link:是动态库还是静态库,static | shared,一般默认静态。

    address-mode:address-model=64,如果没有这个属性的话,会默认生成32位的平台库,加入这个选项才能生成64位的DLL。如果运行在VS32位的命令行下需要添加” architecture=x86”,笔者使用x64 Native Tools Command Prompt for VS 2017没有x86与x64之间的矛盾,所以未设置。
    这里写图片描述
    9、过一段时间后在文件夹d:\boost\boost_1_64_0\bin\vc14\lib下生成.dll及.lib文件。d:\boost\boost_1_64_0\bin.v2是编译产生的临时目录,可删除。

    10、安装完成。

    验证开发环境

    让我们来编写一个简单的boost应用程序来验证开发环境
    在编写代码前要在项目->属性->c/c++ ->常规 “附加包含目录”链接器->常规 “附加包含目录”中添加之前生成的boost lib目录
    这里写图片描述
    这里写图片描述

    测试代码如下:

    #include "stdafx.h"
    #include<iostream>
    #include<stdio.h>
    
    #include<boost/version.hpp> //包含boost头文件
    #include<boost/config.hpp>
    
    int main()
    {
        using namespace std;
        cout << BOOST_VERSION << endl;
        cout << BOOST_LIB_VERSION << endl;
        cout << BOOST_PLATFORM << endl;
        cout << BOOST_COMPILER << endl;
        cout << BOOST_STDLIB << endl;
    
        system("pause");
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    运行结果:
    这里写图片描述

    boost安装成功,入门第一课完成了

    展开全文
  • Boost C++ 库是一组基于C++标准的现代库。 其源码按Boost Software License来发布,允许任何人自由地使用、修改和分发。 这些库是平台独立的,且支持大多数知名和不那么知名的编译器。 Boost库由Boost社区组织开发...

        Boost C++ 库 是一组基于C++标准的现代库。 其源码按 Boost Software License 来发布,允许任何人自由地使用、修改和分发。 这些库是平台独立的,且支持大多数知名和不那么知名的编译器。

        Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。

    下载

    boost.org官网下载即可。

    安装

    打开“开始”菜单栏找到你vs的版本可以看到如下(我使用的是vs2015)

    通过vs2015命令行工具 进入boost库解压目录下,运行安装脚本bootstrap.bat,结果如下

    生成了b2.exe和bjam.exe。直接输入b2或者bjam运行即可。

    等待编译。。。。。。

    编译完成后。

    在附加包含目录添加头文件目录(我的是D:\boost_1_68_0\)

    在附加库目录中添加库目录(我的是D:\boost_1_68_0\stage\lib)

    添加完成后即可使用。

    使用

    大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。

    分类

    在送审的C++标准库TR1中,有十个Boost库成为标准库的候选方案。在更新的TR2中,有更多的Boost库被加入到其中。从某种意义上来讲,Boost库成为具有实践意义的准标准库。

    按照实现的功能,Boost可为大致归入以下20个分类,在下面的分类中,有些库同时归入几种类别。

    字符串和文本处理库、容器库、迭代器库、算法库、函数对象和高阶编程库、泛型编程库、模板元编程、预处理元编程库、并发编程库、数学和数字库、排错和测试库、数据结构库、图像处理库、输入输出库、跨语言混合编程库、内存管理库、解析库、编程接口库、综合类库、编译器问题的变通方案库等。

    Boost中比较有名气的有这么几个库:
    Regex    正则表达式库
    Spirit    解析文本
    LL parser framework,用C++代码直接表达EBNF
    Graph    图组件和算法
    Lambda    在调用的地方定义短小匿名的函数对象,很实用的functional功能
    concept check    检查泛型编程中的concept
    Mpl    用模板实现的元编程框架
    Thread    可移植的C++多线程库
    Python    把C++类和函数映射到Python之中
    Pool    内存池管理
    smart_ptr    智能指针

     

     

     

     

     

     

    展开全文
  • boost库学习总结

    万次阅读 2013-03-08 20:20:36
    第一次使用boost库是因为网络编程,由于时间比较紧,没有时间每个库都学,所以前期想找个专门的boost库网络教程(以前自己就用过socket写过,但是为了跨平台,而且boost库这么好,还是趁早学吧)。终于在网上找到一...
    第一次使用boost库是因为网络编程,由于时间比较紧,没有时间每个库都学,所以前期想找个专门的boost库网络教程(以前自己就用过socket写过,但是为了跨平台,而且boost库这么好,还是趁早学吧)。终于在网上找到一个很好的boost库教程系列。http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio/?pg=1
    1. boost库IOS版本的framework下载和使用地址:https://github.com/mz2/boostoniphone。之所以用framework是因为IOS设备和IOS模拟器使用的boost库是不一样的,一个是嵌入式设备版本,另外一个就是MAC OS版本,为了解决IOS设备与模拟器之间的调试差异,使用framework最好不过了。

    2. resolver的异步查询(async_resolve)让我搞了1个小时,虽然教程上说根据说明文档很容易使用async_resolve,但是实际编写时就遇到问题了。
      bug:异步完成句柄被调用时始终传入error。
      但从网上查资料,基本跟我写的一样啊,没什么区别。最后各种尝试,终于找出里面的原因来了。
      解决方法:io_service必须要在socket,resolver初始化之后才能调用run()函数,否则异步查询始终出错。

    3. scoped_ptr:确保指针的所有者只有一个(当然你不应该将原生指针赋给多个scoped_ptr对象),即scoped_ptr本身不能被scoped_ptr类型构造或者赋值。而且由于将原生指针封装成类,可就成了异常安全类型了。并且scoped_ptr很适合用于有多个分支的函数,例如一开始申请一块缓冲区,多个分支函数可能直接返回,在返回之前我们一般都需要删除这块内存,此时我们可以使用scoped_ptr去指向这块刚申请的内存。这样我们就不用显示释放了。这个方案相比于使用goto语句结构更清晰,更安全。

    4. scoped_array:它和scoped_ptr几乎一模一样,除了多提供了operator[]函数,使其能像一般数组一样访问对应元素。scoped_array一般用于当数组元素固定的时候(个人认为如果固定的话,除非每个元素大小很大,否则直接使用局部变量比较好)。动态的数组分配,如果对效率没有非常苛刻的要求的话,建议还是使用std::vector。

    5. shared_ptr
      1. 在看到boost部分源码的时候对其构造函数比较好奇,为了构造函数还使用偏特化模版函数。即
        template<typename T> class shared_ptr {
          public:
            template <class Y> explicit shared_ptr(Y* p);
        .....
        };
        原来shared_ptr也可以这样使用。
        boost::shared_ptr< void > p( new std::string( "HelloWorld" );
        这样就隐藏了智能指针p的真实指针类型。但shared_ptr保证能正确表用std::~string析构函数(内部肯定记录了)。

      2. 这种设计其实背后有很大文章。由于shared_ptr设计中也考虑到兼容以前代码,所以我们可以从shared_ptr获取原生指针,但如果用户使用原生指针删除了动态分配的对象怎么办?
        我们可以采用这种模式:
        class A {
        public:
          virtual void sing()=0;
        protected:
          virtual ~A() {};
        };
        
        class B : public A {
        public:
          virtual void sing() {
            std::cout << "Do re mi fa so la";
          }
        };

        基类的析构函数是protected,所以基类指针是不能调用delete。派生类的是public自然就可以删除了。有了上面的设计,在加上shared_ptr的模版参数和构造参数可以不同这个特点,就可以解决方面的问题了,如:
        boost::shared_ptr<A> createA() {
          boost::shared_ptr<A> p(new B());
          return p;
        }

        通过此函数创建出来的shared_ptr,其get()返回的指针是无法被删除的(当然你强制转换除外)。所以可以放心的把shared_ptr::get()函数返回的指针给需要原生指针的函数使用。

    6. polymorphic_cast
      这是一个dynamic_cast的特殊版,由于dynamic_cast对指针转换失败和引用转换失败结果不一致,polymorphic_cast决心将其改正,也就是当指针类型转换失败的时候也抛出异常,但是polymorphic_cast不能用于引用类型。个人感觉有点“拗口”。不过书中也提了利用将指针转换成引用来实现指针转换失败时采用像引用转换失败的策略(即抛出异常)。由于现在水平有限,不能很好地体会到大师用意。

    7. polymorphic_downcast
      这是非常好的工具,一个在debug环境下按照dynamic_cast流程走,以方便调试。但是在release环境下按照static_cast流程走,提高效率。当然前提是你确保传入的类型按原本的意图是指传一种已知的类型,即这个模版函数适用于,原来强制类型转换的地方(特别是预防以后可能传入错误类型的情况)。

    8. numeric_cast
      是个使用的工具,让我们平时粗心的转换得到更多安全的保障。

    9. lexical_cast
      一个让字符串和其他类型之间的转换更“美好“的工具。原理类似与stringstream。用户自定义的类,只要满足operator<<就能被lexical_cast转换。如果满足operator>>就能接受lexical_cast的转换结果。

    10. BOOST_STATIC_CAST
      一个能在编译阶段确定某模版参数是某一类型的宏定义。唉,我们日常生活自己编写模版类的实践太少,看来中国和最先进的C++水平还是有不少差距啊。

    11. checked_delete
      一个能保证被delete的对象所属类,在该函数调用处,已经有完整信息。即编译器有类的足够信息,以可以正常调用该对象类的析构函数。这种情况很少,但是大师的任务是,杜绝一切可能,提供最牢靠的”防御“。

    12. noncopyable
      一个在很多类框架中都能看到,而且自己也接触的模式,就是提供一个不可复制的基类。让派生类以私有形式(共有形式也可以,但是在设计角度不够好)派生该基类。以表达此类具有不可复制的属性。

    13. address_of
      一个能确保取到变量地址的模版函数,及时这个变量所属的类重载了取址操作符(&),此函数也能够取到真正地址。

    14. enable_if, disable_if
      一个能让某些模版函数或者类加入或者排除在候选重载函数中。牛,我只能说,大师做的事情已经跟我们不一个级别了。目前还没遇到过这种情况,但是我相信,如果没有看到《Beyond the C++ Standard Library: An Introduction to Boost》,一定会很迷茫。

    15. operator

      operators头文件中包含了很多有便扩展操作符重载的解决方案,就像书中写的,如果我们提供operator<,那么我么应该提供operator<=,>=,>等操作符,但是其实我们发现,通过opertor<我们能够推出operator<=,operator>=,operator>等操作符,但是我们却往往忽略,或者怕出错误,以至于我们类的操作符重载不够“友好”,用户使用不能像预想的那样。opertors库,让这些依赖于主操作符重载的辅操作符重载更简单,而且更加概念化,系统化。通过派生于less_than_comparable<typename T>,我们就能实现比较,通过其他概念,我们将更加简单而且清晰的实现各类应该具备的操作符。

    16. regular expression

      相信做过文本文件读取,或者各类工具的编程爱好者,一定对于正则表达式十分的向往(如果有高效,易用的正则表达式,那么很多应用将得心应手)。相信boost::regex可以给你带来希望。基本上是用使用regex需要3部分:需要被处理的源文本字符串,匹配结果,正则表达式。通过regex的三大算法(regex_match,regex_search,regex_replace),我们能实现各种应用,而且还有其他很多如regex_token_iterator等使用操作,让regex非常好用。但是regex是个很大的库,里面包含的知识和应用十分庞大,具体的还是需要参考document,这个章节只是一个很好的引导者。

    17. any

      这个类提供了像shared_ptr一样的功能:能够包含任意类型。但是any不是一个模板类。所以我们可以在stl的容器中使用其作为类型参数,这样我们就可以实现在stl容器中包含任意类型的目的了。any中的any_cast是其精髓,想要访问any中的实例都需要这个接口去获得新的实例拷贝。
    展开全文
  • boost 1.69.0

    2018-12-22 10:51:36
    c++ boost库,版本为1.69.0。官方的下载速度不是太好,方便大家下载。
  • Ubuntu16.04安装boost

    万次阅读 2018-07-02 19:24:03
    boost官网安装一个boost库的压缩包,我下的是1.67.0版本执行下面的命令解压tar -xzvf boost_1_67_0.tar.gz 解压出来以后,进入解压出来的文件夹,执行下面的命令sudo ./bootstrap.sh在执行下面的命令,这样头文件...
  • boost

    2020-11-17 22:01:18
    1.什么是boost? 适配性:多数库是不需要预先编译的,include hpp文件就能用。如果出现链接失败,那就是可能需要编译库了。 Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化...
  • VS2019配置BOOST-v1.70.0库

    万次阅读 2019-07-08 19:07:10
    文章目录vs2019配置c++ boost库安装编译Boost c++ library新建vs2019 c++项目,并添加boost依赖库代码测试c++ boost库说明主要分类常用库相关图书编辑 vs2019配置c++ boost库 安装编译Boost c++ library 安装Boost...
  • Boost入门

    千次阅读 2018-11-01 14:31:05
    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章...分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;... Boost入门向导&a
  • boost安装详解

    万次阅读 2018-10-17 22:26:31
     boost是一个开源库,因为开源库可以跨平台,可以通过在不同的“硬件”平台上。所以需要安装的操作。  安装,然后编译生成“静态链接库lib”,或“动态链接库dll”等。 2. 下载boost安装包,现在已经到1.60版本...
  • Linux编译和安装boost

    万次阅读 多人点赞 2015-07-31 15:00:26
    下载boost的安装包,以boost_1_58_0.tar.gz为例 下载完成后进行解压缩:tar zxvf boost_1_58_0.tar.gz2.设置编译器和所选库先进入解压缩后的目录:cd boost_1_58_0然后运行bootstrap.sh脚本并设置相关参数:./...
  • Boost程序库入门学习

    万次阅读 2018-09-30 20:35:59
    罗剑锋写的《Boost程序库完全开发指南》和《Boost程序库探秘》,前者是一个大体的介绍,后者是针对一些诸如模板元编程等高级特性做了深入的探讨。 一、Boost库概述 Boost是一个功能强大、构造精巧、跨平台、开源...
  • Boost电路的结构及工作原理

    万次阅读 多人点赞 2019-01-14 20:52:59
    Boost电路定义  Boost升压电路的英文名称为“theboostconverter”,或者叫“step-upconverter”,是一种开关直流升压电路,它能够将直流电变为另一固定电压或可调电压的直流电,也称为直流—直流变换器(DC/...
  • boost

    千次阅读 2016-11-02 22:29:40
    boost在SourceForge上的下载链接:https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.7z
  • boost全平台编译方法

    万次阅读 热门讨论 2015-06-11 12:00:25
    0.通用规则boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译...
  • boost——正则表达式

    千次阅读 2015-02-01 22:24:25
    前面一篇文章《编程思想之正则表达式》中讲了正则表达式的编程思想和各种语言下的使用,我们都知道C++标准库自带的正则表达式非常难用,而boost对一个功能进行了拓展,前面一篇文章《boost——入门指南》讲了boost...
  • C++ Boost

    千次阅读 2013-10-11 20:19:13
    Boost准标准库 boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较...
  • 程序日志带来的问题?上面几个例子都是将日志信息输出到控制台上,实际应用中不常用,最常用的情况是我们将日志信息输出到文本文件中,方便我们以后查看,同时程序不运行时日志信息也不会丢掉。...boost l
  • boost——入门指南

    万次阅读 2015-01-18 11:21:51
    boost库是一个开源免费的第三方库,它是一个非常优秀的库,是C++标准的最好实践之一,因此也经常被用于商业的开发。所以,如果你是搞C++的,还没有听过或用过boost,你就out了,想想自己是不是跟不上技术的步伐了,...

空空如也

1 2 3 4 5 ... 20
收藏数 117,446
精华内容 46,978
关键字:

boost