返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++ 中如何使用Bost库
  • 321
分享到

C++ 中如何使用Bost库

2023-06-17 16:06:02 321人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关c++ 中如何使用Bost库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++ Bost库主要包含一下几个大类:字符串及文本处理、容器、迭代子(It

本篇文章给大家分享的是有关c++ 中如何使用Bost库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

C++ Bost库主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程数学相关、纠错和测试数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。

在文本处理部分,conversion/lexcial_cast类用于“用C++”的方法实现数字类型和字符串之间的转换。 主要是替代C标准库中的 atoi、 itoa之类的函数。当然其中一个***的好处就是支持泛型了。

fORMat库提供了对流的“printf-like”功能。printf里使用%d、%s等等的参数做替换的方法在很多情况下还是非常方便的,STL的iOStream则缺乏这样的功能。format为stream增加了这个功能,并且功能比原始的printf更强。

regex,这个不多说了,正则表达式库。如果需要做字符串分析的人就会理解正则表达式有多么有用了。

spirit,这个是做LL分析的框架,可以根据EBNF规则对文件进行分析。(不要告诉我不知道什么是EBNF)。做编译器的可能会用到。一般人不太用的到。

tokenizer库。我以前经常在CSDN上看到有人问怎么把一个字符串按逗号分割成字符串数组。也许有些人很羡慕VB的split函数。现在,C++ Bost库的tokenizer也有相同的功能了,如果我没记错的话,这个tokenizer还支持正则表达式,是不是很爽?

C++ Bost库中包含内容:

array: 提供了常量大小的数组的一个包装,喜欢用数组但是苦恼数组定位、确定数组大小等功能的人这下开心了。

dynamic_bitset,动态分配大小的bitset,我们知道STL里有个bitset,为位运算提供了不少方便。可惜它的大小需要在编译期指定。现在好了,运行期动态分配大小的bitset来了。

graph。提供了图的容器和相关算法。我还没有在程序中用到过图,需要用的人可以看看。

multi_array提供了对多维数组的封装,应该还是比较有用的。

并发编程里只有一个库,thread,提供了一个可移植的线程库,不过在windows平台上我感觉用处不大。因为它是基于Posix线程的,在Windows里对Posix的支持不是很好。

接下来的 数学和数值 类里,包含了很多数值处理方面的类库,数学类我也不太熟,不过这里有几个类还是很有用的,比如rational分数类,random随机数类,等等。

static_assert,提供了编译器的assert功能。

test库,一个单元测试框架,非常不错。

concept_check提供了泛型编程时,对泛型量的一点检查,不是很完善,不过比没有好。

数据类型类any,一个安全的可以包含不同对象的类。把它作为容器的元素类型,那么这个容器就可以包含不同类型的元素。比用void *要安全。

compressed_pair,跟STL里的pair差不多。不过对空元素做了优化

tuple,呵呵,也许是某些人梦寐以求的东西。可以让函数返回多个值。

跨语言支持:python,呵呵,好东东啊,可以将C++的类和函数映射给Python使用。

pool:内存池,呵呵,不用害怕频繁分配释放内存导致内存碎片,也不用自己辛辛苦苦自己实现了。

smart_ptr:智能指针,这下不用担心内存泄漏的问题了吧。不过,C++里的智能指针都还不是十全十美的,用的时候小心点了,不要做太技巧性的操作了。

date_time,这个是平台、类库无关的实现,如果程序需要跨平台,可以考虑用这个。

timer,提供了一个计时器,虽然不是Windows里那种基于消息的计时器,不过据说可以用来测量语句执行时间。

uitlity里提供了一个noncopyable类,可以实现“无法复制”的类。很多情况下,我们需要避免一个类被复制,比如代表文件句柄的类,文件句柄如果被两个实例共享,操作上会有很多问题,而且语义上也说不过去。一般的避免实例复制的方法是把拷贝构造和operator=私有化,现在只要继承一下这个类就可以了,清晰了很多。

value_initialized:数值初始化,可以保证声明的对象都被明确的初始化,不过这个真的实用吗?似乎写这个比直接写初始化还累。呵呵,仁者见仁了。

这里面除了regex、python和test需要编译出库才能用,其他的大部分都可以直接源代码应用,比较方便。其实这些库使用都不难。最主要的原因是有些库的使用需要有相关的背景知识,比如元编程、STL、泛型编程等等。

以上就是C++ 中如何使用Bost库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网其他教程频道。

--结束END--

本文标题: C++ 中如何使用Bost库

本文链接: https://www.lsjlt.com/news/290808.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++ 中如何使用Bost库
    本篇文章给大家分享的是有关C++ 中如何使用Bost库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++ Bost库主要包含一下几个大类:字符串及文本处理、容器、迭代子(It...
    99+
    2023-06-17
  • 如何在c#中使用opencv函数库
    这个demo用c#实现图片裁剪和半透明融合的功能演示程序。功能挺简单的,就是把一张固定大小的图片先做边缘羽化,然后贴到一个圆形泡泡形状的底图上,最后把结果半透明融合到一张背景图上。 ...
    99+
    2024-04-02
  • C++日志库log4cplus如何使用
    本篇内容介绍了“C++日志库log4cplus如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译&&安装下载完成在u...
    99+
    2023-07-05
  • C#中如何使用using
    C#中如何使用using,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、using 按照MSDN的解释  using 语句定义一个范围,在此范围的末尾将处...
    99+
    2023-06-17
  • C#中如何使用interface
    这篇文章将为大家详细讲解有关C#中如何使用interface,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。C# interface是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对...
    99+
    2023-06-17
  • C#中interface如何使用
    今天就跟大家聊聊有关C#中interface如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C# interface定义:就是以前使用的类似于API 的东西,别人告诉你一个类型...
    99+
    2023-06-17
  • C#中foreach如何使用
    本篇文章给大家分享的是有关C#中foreach如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C# foreach使用1. MySplit 类/// <s...
    99+
    2023-06-17
  • C#中如何使用BinaryWriter
    C#中如何使用BinaryWriter,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C# BinaryWriter的使用实例:用BinaryWriter  ...
    99+
    2023-06-17
  • C#中如何使用MessageBox
    这期内容当中小编将会给大家带来有关C#中如何使用MessageBox,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C# MessageBox用法相关文章:public MessageBoxInt...
    99+
    2023-06-17
  • C#中 MessageBox如何使用
    今天就跟大家聊聊有关C#中 MessageBox如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C# MessageBox用法1、函数原型及参数function Message...
    99+
    2023-06-17
  • C# 中MessageBox如何使用
    这篇文章给大家介绍C# 中MessageBox如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C# MessageBox的实现示图:在这里,我们直接修改上面的myPanel.js文件,红字为新加的代码.........
    99+
    2023-06-17
  • C#中using如何使用
    这篇文章给大家介绍C#中using如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C# using指令,最常用的是在程序代码的开头引用系统空间,其他的用法有允许在命名空间中使用类型和用来创建 using语句定义一...
    99+
    2023-06-17
  • C#中TypeConverterAttribute如何使用
    C#中TypeConverterAttribute如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#实例详解TypeConverterAttribute...
    99+
    2023-06-17
  • C# 中AttributeUsage如何使用
    本篇文章给大家分享的是有关C# 中AttributeUsage如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C# AttributeUsage的使用要明白:Attrib...
    99+
    2023-06-17
  • C#中 ArrayList如何使用
    这期内容当中小编将会给大家带来有关C#中 ArrayList如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在开始讲解C# ArrayList.CopyTo()运行错误的解决方法之前,先给大家看一段...
    99+
    2023-06-18
  • C++中const如何使用
    本篇文章为大家展示了C++中const如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。const来修饰一个类的成员函数时,它并不仅仅是禁止修改类里面的数据,而且要求其里面用到的类的成员都是具有...
    99+
    2023-06-17
  • C++中static如何使用
    今天就跟大家聊聊有关C++中static如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键...
    99+
    2023-06-17
  • C++中timer如何使用
    这篇文章给大家介绍C++中timer如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C++ timer代码示例:/this code is writen by c...
    99+
    2023-06-17
  • C++中typeof如何使用
    本篇文章给大家分享的是有关C++中typeof如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、基本用法。C++ typeof表达式。以下是它列出的用法:a、取表达式的...
    99+
    2023-06-17
  • C++中Cstring如何使用
    这期内容当中小编将会给大家带来有关C++中Cstring如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++编程语言是一个应用广泛,功能强大的编程语言。在开发人员眼中,这一编程语言在程序开发中占据...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作