您的位置:首页 > 编程语言 > C语言/C++

Qt、ACE、Boost等C++著名程序库的比较和学习经验

2012-09-23 14:07 435 查看
/article/6259600.html

Qt、ACE、Boost等C++著名程序库的比较和学习经验
1、C++各大有名库的介绍——C++标准库
2、C++各大有名库的介绍——准标准库Boost
3、C++各大有名库的介绍——GUI
4、C++各大有名库的介绍——网络通信
5、C++各大有名库的介绍——XML
6、C++各大有名库的介绍——科学计算
7、C++各大有名库的介绍——游戏开发
8、C++各大有名库的介绍——线程
9、C++各大有名库的介绍——序列化
10、C++各大有名库的介绍——字符串
11、C++各大有名库的介绍——综合
12、C++各大有名库的介绍——其他库
13、C++名人的网站
14、C++开源跨平台类库及在VC++.net中应用的配置
15、C++资源之不完全导引

一 BOOST
Boost带领你远远地超越了C++标准库,它使得C++编程更优雅、更有活力、更高产。(引自:Beyond the C++ Standard Library: An Introduction to Boost)(慢慢体会哦!)
二 参考
主要:
boost的在线document:http://boost.org/libs/libraries.htm
唯一的关于boost的book:Beyond the C++ Standard Library: An Introduction to Boost
其他:
http://www.boost.org/
heroboy2000: http://blog.csdn.net/heroboy2000/

dozb: http://dozb.bokee.com/catalog_2005.html
boost china: http://www.stlchina.org/twiki/bin/view.pl/Main/BoostChina

三 boost库索引(来自boost china)(本系列文章使用boost 1.34版本)



2.0 字符串和文本处理( String and text processing)

conversion/lexical_cast - lexical_cast 类模板,作者
Kevlin Henney.
format - 类型安全的
"类似printf" 格式的操作, 作者 Samuel Krempp.
regex - 正则表达式库,
作者 John Maddock .
spirit - LL分析的框架,在嵌入式C++中根据EBNF规则对文件进行分析,
作者 Joel de Guzman and team.
tokenizer -
把字符串或其他字符序列分解成一系列标记(tokens), 作者 John Bandela.
string_algo -
字符串算法库, 作者 Pavol Droba .

2.1 容器(Containers)

array - STL风格封装下的定长数组,
作者 Nicolai Josuttis.
dynamic_bitset - std::bitset的动态长度版本,
作者 Jeremy Siek 和 Chuck Allison.
graph -
泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
multi_array -
多维数组的容器和配接器, 作者 Ron Garcia.
multi_index -
提供对可重复键值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
property map -
Concepts defining interfaces which map key objects to value objects, 作者 Jeremy Siek.
variant - 安全,
泛型, 基于栈的,不同于联合容器, 作者 Eric Friedman and Itay Maman.

2.2 迭代器(Iterators)

graph -
泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
iterators -
Iterator 构造框架, 配接器, 概念, 和其他, 作者 Dave Abrahams, Jeremy Siek, 和 Thomas Witt.
operators -
使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
tokenizer -
把字符串或其他字符序列分解成一系列标记(tokens), 作者 John Bandela.

2.3 算法( Algorithms )

graph -
泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
minmax -
标准库扩展,用于同时进行 min/max 和 min/max 元素计算, 作者 Hervé Brönnimann.
string_algo -
字符串算法库, 作者 Pavol Droba .
utility - 类 next(), prior() 函数模板,
作者 Dave Abrahams and others.
range - new 根基,其为建于new
iterator概念之上的泛型计算, 作者 Thorsten Ottosen.

2.4 函数对象和高阶编程(Function objects and higher-order programming)

bindmem_fn -
为函数/对象/指针和成员函数而被泛化的组合者, 作者 Peter Dimov.
function - 为延期调用和回调的函数对象的包裹,
作者 Doug Gregor.
functional -
增强的函数对象配接器, 作者 Mark Rodgers.
lambda - 在实际调用地点定义小的无名函数对象,
作者 Jaakko Järvi 和 Gary Powell.
ref - 一个工具库,用于传递引用到泛型函数,
作者 Jaako Järvi, Peter Dimov, Doug Gregor, 和 Dave Abrahams.
signals - 被管理的信号和邮槽回调的实现,
作者 Doug Gregor.
result_of -
确定函数调用表达式的类型.

2.5 泛型编程(Generic Programming)

call_traits -
实现自动判断传入参数的方式, 作者 John Maddock, Howard Hinnant, et al.
concept check -
泛型编程的工具, 作者 Jeremy Siek.
enable_if -
函数模板重载时的选择性包含, 作者 Jaakko Järvi, Jeremiah Willcock, 和 Andrew Lumsdaine.
in_place_factory, typed_in_place_factory-
Generic in-place construction of contained objects with a variadic argument-list, 作者 Fernando Cacciola.
operators -
使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
property map -
Concepts defining interfaces which map key objects to value objects, 作者 Jeremy Siek.
static_assert -
静态断言 (编译时断言), 作者 John Maddock.
type_traits -
类型的基本属性的模板, 作者 John Maddock, Steve Cleary, et al.

2.6 模板元编程(Template Metaprogramming )

mpl - 模板元编程框架,用于编译时计算,序列化和元函数类,
作者 Aleksey Gurtovoy.
static_assert -
静态断言 (编译时断言), 作者 John Maddock.
type_traits -
类型的基本属性的模板, 作者 John Maddock, Steve Cleary, et al.

2.7 预处理元编程(Preprocessor Metaprogramming)

preprocessor -
预处理元编程工具,包含重复和递归, 作者 Vesa Karvonen 和 Paul Mensonides.

2.8 并发编程(Concurrent Programming)

thread - 轻便的C++多线程库,
作者 William Kempf.

2.9 数学和数值计算(Math and numerics)

math - 在数学领域的几个贡献,
作者 various authors.
conversion/numeric_cast - numeric_cast 类模板,
作者 Kevlin Henney.
numeric/conversion -
优化的基于策略的数值变换, 作者 Fernando Cacciola.
integer - 能够帮助简化对整数类型的处理。
interval -
Extends the usual arithmetic functions to mathematical intervals, 作者 Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
math/common_factor -
最大公约数和最小公倍数, 作者 Daryle Walker.
math/octonion -
Octonions, 作者 Hubert Holin.
math/quaternion -
Quaternions, 作者 Hubert Holin.
math/special_functions -
数学方面的函数比如 atanh, sinc, 和 sinhc, 作者 Hubert Holin.
multi_array -
多维数组的容器和配接器, 作者 Ron Garcia.
operators -
使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
random - 随机数生成的完整系统,
作者 Jens Maurer.
rational - 有理数类,
作者 Paul Moore.
uBLAS -
基本线性代数,用于矩阵操作, 作者 Joerg Walter and Mathias Koch.

2.10 纠错和测试( Correctness and testing)

concept check -
泛型编程的工具, 作者 Jeremy Siek.
static_assert -
静态断言 (编译时断言), 作者 John Maddock.
test - 支持简单程序测试,
完整单元测试, 和程序执行监控, 作者 Gennadiy Rozental.

2.11数据结构( Data structures)

any - 安全,泛型的容器,包含不同类型的值,
作者 Kevlin Henney.
compressed_pair -
针对pair当中空成员做了一些优化, 作者 John Maddock, Howard Hinnant, et al.
multi_index -
提供对可重复键值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
tuple -
容易地定义可返回多个值的函数, 作者 Jaakko Järvi.
variant - 安全,
泛型, 基于栈的,不同于联合容器, 作者 Eric Friedman and Itay Maman.

2.12 输入/输出(Input/Output)

format - 类型安全的
"类似printf" 格式的操作, 作者 Samuel Krempp.
io state savers -
保存 I/O 状态来防止混乱的数据, 作者 Daryle Walker.
program_options -
通过命令行,配置文件和其他来源来存取配置参数, 作者 Vladimir Prus.
serialization -
Serialization of arbitrary data for persistence and marshalling, 作者 Robert Ramey
assign - 用常数或更容易方式生成的数据填充容器,
作者 Thorsten Ottosen.

2.13 跨语言支持(Inter-language support)

python - 映射
C++ 类和函数给 Python 使用, 作者 Dave Abrahams.

2.14 内存(Memory)

pool - 内存池管理,
作者 Steve Cleary.
smart_ptr -
五个智能指针类模板, 作者 Greg Colvin, Beman Dawes, Peter Dimov, 和 Darin Adler.
utility - 类 noncopyablechecked_delete(), checked_array_delete(), next(), prior() 函数模板,
base-from-member idiom, 作者 Dave Abrahams 等.

2.15解析( Parsing )

spirit - LL分析的框架,在嵌入式C++中根据EBNF规则对文件进行分析,
作者 Joel de Guzman and team.

2.16杂项( Miscellaneous )

base-from-member -
Idiom to initialize a base class with a member, 作者 Daryle Walker.
compressed_pair -
针对pair当中空成员做了一些优化, 作者 John Maddock, Howard Hinnant, et al.
conversion -
各种类型间的转化,Numeric, polymorphic, 和 lexical casts, 作者 Dave Abrahams and Kevlin Henney.
numeric/conversion -
优化的基于策略的数值变换, 作者 Fernando Cacciola.
crc - 循环沉余码, 作者 Daryle
Walker.
date_time -
Date-Time 库, 作者 Jeff Garland.
filesystem -
方便地操作文件路径, 通过iteration访问目录, 和其他有用的文件系统操作, 作者 Beman Dawes.
optional -
对可选项值的可识别联合包裹, 作者 Fernando Cacciola.
program_options -
通过命令行,配置文件和其他来源来存取配置参数, 作者 Vladimir Prus.
timer - 事件定时器, 进度定时器,
和进度显示类, 作者 Beman Dawes.
tribool - 3种状态的
boolean 类型库, 作者 Doug Gregor.
utility - 类 noncopyablechecked_delete(), checked_array_delete(), next(), prior() 函数模板,
base-from-member idiom, 作者 Dave Abrahams 等.
value_initialized -
为统一的语法的值初始化的包裹, 作者 Fernando Cacciola, 基于 David Abrahams 的思想.

2.17 Broken compiler workarounds

compatibility -
对不一致的标准库提供帮助, 作者 Ralf Grosse-Kunstleve and Jens Maurer.
config - 帮助 boost
库的开发者配置编译器特性;不打算提供给库用户使用.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: