当前位置:  开发笔记 > 编程语言 > 正文

提升图书馆

如何解决《提升图书馆》经验,为你挑选了7个好方法。

由于我已经开始使用这个网站,我一直听说Boost库.我想知道Boost库有哪些主要优点(因此我应该使用它)以及Boost库的可移植性如何?



1> Martin York..:

Boost由标准委员会的几名成员组织.
因此,它将成为下一个标准的图书馆的温床.

    它是STL的扩展(它填充了剩下的位)

    这是有据可查的.

    这是很好的同行评审.

    它具有很高的活动性,因此可以快速找到并修复错误.

    它是平台中立的,无处不在.

    它是免费使用的.

随着tr1即将推出,很高兴知道增强已经覆盖了很多地面.tr1中的许多库基本上都是直接从boost原型中调整而来,因此经过了尝试和测试.不同之处在于它们已被移入std :: tr1命名空间(而不是boost).

您需要做的就是将以下内容添加到编译器默认包含搜索路径中:

/boost/tr1/tr1

然后当你包含标准头文件时,boost会自动将所有必需的东西导入到命名空间std :: tr1中

例如:

要使用std :: tr1 :: share_ptr,您只需要包含.这将为您提供一个带有一个文件的智能指针.



2> Mihai Limbăș..:

您只需阅读Boost Background Information页面,即可快速了解使用Boost的原因以及可以使用它的原因.值得花几分钟.


在他的辩护中,现在它可以在这里找到并可搜索到网站上的每个人(并且谷歌搜索结果可能很高).

3> argatxa..:

99%便携式.

我会说,一旦你发现了通过boost解决的需求,它就有很多库非常有用.要么自己编写代码,要么使用非常可靠的库.关闭多索引,Lambda,程序选项,RegEx,SmartPtr和Tuple等东西的搁置源是惊人的......

最好的办法是花一些时间浏览不同库的文档,并评估它是否对您有用.

值得!


几年前,Boost的几个部分在Sun和IBM的C++编译器上失败了.目前还不确定这种情况,但我不认为可移植性接近99%.

4> Douglas Mayl..:

你得到了很多C++ 0x中的东西.但除了这种一般性之外,一些更好的细节是一个简单的正则表达式库,一个用于从字符串转换为整数的转换库(Lexical cast):

int iResult = 0;
try
{
    iResult = lexical_cast("4");
}
catch(bad_lexical_cast &)
{
    cout << "Unable to cast string to int";
}

一个日期/时间库,等等...

using namespace boost::gregorian;
date weekstart(2002,Feb,1);
date thursday_next = next_weekday(weekstart, Thursday); // following Thursday

还有一个Python接口(Boost Python),一个词法分析器/解析器DSL(Boost Spirit):

// A grammar in C++ for equations
group       = '(' >> expression >> ')';
factor      = integer | group;
term        = factor >> *(('*' >> factor) | ('/' >> factor));
expression  = term >> *(('+' >> term) | ('-' >> term));

而那只是表面上的......



5> Jeroen Dirks..:

Boost很棒,但是在这里玩Devil's Advocate是你可能不想使用Boost的一些原因:

有时无法在旧编译器上正确编译/工作.

它通常比模板繁重的方法更多地增加编译时间.

某些Boost代码可能无法完成您的想法.阅读文档!

模板滥用可能导致无法读取的错误消息.

模板滥用可能导致代码难以在调试器中单步执行.

它是前沿的C++.Boost的下一个版本可能无法在您当前(较旧的)编译器上编译.

所有这一切并不意味着你不应该看看Boost代码并自己获得一些想法,即使你没有按原样使用Boost.



6> Brian R. Bon..:

Boost是C++库的集合.其中10个包含在C++ 0x的tr1中.

你可以在这里开始使用boost.



7> luke..:

Boost是一系列高质量的同行评审C++库,强调可移植性和正确性.它充当了对语言和标准库的新增功能的事实证明.查看他们的网站了解更多详情.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有