boost 在c++中是啥用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boost 在c++中是啥用相关的知识,希望对你有一定的参考价值。
typedef boost::shared_ptr<howto_square_ff> howto_square_ff_sptr;
一、Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。二、按照实现的功能,Boost可为大致归入以下20个分类,在下面的分类中,有些库同时归入几种类别。
1. 字符串和文本处理
a) Conversion
b) Format
c) iostream
d) Lexical Cast
e) Regex
f) Spirit
g) String Algo
h) Tokenizer
i) Wave
j) Xpressive
2. 容器
a) Array
b) Bimap
c) Circular Buffer
d) Disjoint Sets
e) Dynamic Bitset
f) GIL
g) Graph
h) ICL
i) Intrusive
j) Multi-Array
k) Multi-Index
l) Pointer Container
m) Property Map
n) Property Tree
o) Unordered
p) Variant
3. 迭代器
a) GIL
b) Graph
c) Iterators
d) Operators
e) Tokenizer
4. 算法
a) Foreach
b) GIL
c) Graph
d) Min-Max
e) Range
f) String Algo
g) Utility
5. 函数对象和高阶编程
a) Bind
b) Function
c) Functional
d) Functional/Factory
e) Functional/Forward
f) Functional/Hash
g) Lambda
h) Member Function
i) Ref
j) Result Of
k) Signals
l) Signals2
m) Utility
6. 泛型编程
a) Call Traits
b) Concept Check
c) Enable If
d) Function Types
e) GIL
f) In Place Factory, Typed In Place Factory
g) Operators
h) Property Map
i) Static Assert
j) Type Traits
7. 模板元编程
a) Function Types
b) Fusion
c) MPL
d) Proto
e) Static Assert
f) Type Traits
8. 预处理元编程
a) Preprocessors
9. 并发编程
a) Asio
b) Interprocess
c) MPI
d) Thread
10. 数学和数字
a) Accumulators
b) Integer
c) Interval
d) Math
e) Math Common Factor
f) Math Octonion
g) Math Quaternion
h) Math/Special Functions
i) Math/Statistical Distributions
j) Multi-Array
k) Numeric Conversion
l) Operators
m) Random
n) Rational
o) uBLAS
11. 排错和测试
a) Concept Check
b) Static Assert
c) Test
12. 数据结构
a) Any
b) Bitmap
c) Compressed Pair
d) Fusion
e) ICL
f) Multi-Index
g) Pointer Container
h) Property Tree
i) Tuple
j) Uuid
k) Variant
13. 图像处理
a) GIL
14. 输入输出
a) Asio
b) Assign
c) Format
d) IO State Savers
e) IOStreams
f) Program Options
g) Serialization
15. 跨语言混合编程
a) Python
16. 内存管理
a) Pool
b) Smart Ptr
c) Utility
17. 解析
a) Spirit
18. 编程接口
a) Function
b) Parameter
19. 杂项
a) Compressed Pair
b) Conversion
c) CRC
d) Date Time
e) Exception
f) Filesystem
g) Flyweight
h) Lexical Cast
i) Meta State Machine
j) Numeric Conversion
k) Optional
l) Polygon
m) Program Options
n) Scope Exit
o) Statechart
p) Swap
q) System
r) Timer
s) Tribool
t) Typeof
u) Units
v) Utility
w) Value Initialized
20. 编译器问题的变通方案
a) Compatibility
b) Config 参考技术A 这是C++的准标准库
也是目前比较活跃的C++库.
即提供了丰富的C++扩展,也对C++的发展提供了源源不断的创意 参考技术B Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。
这里的boost是一个命名空间,相当于平时使用的std,Boost库的函数都放在这个命名空间里面,具体你可以上boost.org看看,这个是boost的官方网站,里面提供boost库的免费下载。
$ENV 在 CMake 中是啥意思
【中文标题】$ENV 在 CMake 中是啥意思【英文标题】:What does $ENV mean in CMake$ENV 在 CMake 中是什么意思 【发布时间】:2020-04-18 04:39:59 【问题描述】:$ENV
在 CMake 中是什么意思?例如:
set(BOOST_ROOT $ENVHOME/dev/cpp/thirdparty/boost)
【问题讨论】:
【参考方案1】:$ENV
用于获取环境变量[1]的值。
在您的示例中,$ENVHOME
将获取环境变量 $HOME
的值。假设$HOME
的值为/home/wls
。运行您显示的 sn-p 会将 CMake 变量 BOOST_ROOT
设置为 /home/wls/dev/cpp/thirdparty/boost
。
$ENV
不限于与$HOME
一起使用。您可以将它用于任何可用的环境变量。
请注意,ENV
也与 set()
一起使用。请注意,此ENV
与$ENV
不同。 ENV
在set()
中通常以这种方式使用:
set(ENV<variable> [<value>])
ENV
在上述上下文中用于表示您设置值的变量是环境变量。正如set()
[2] 的文档中所述,以这种方式更改环境变量将影响以后使用$ENV
读取该变量的结果值。
参考资料:
[1]https://cmake.org/cmake/help/latest/variable/ENV.html [2]https://cmake.org/cmake/help/latest/command/set.html#set-environment-variable【讨论】:
以上是关于boost 在c++中是啥用的主要内容,如果未能解决你的问题,请参考以下文章
boost::filesystem::path 中的“/”字符有啥用?