自从我开始使用这个网站以来,我一直听到关于Boost库的消息。我想知道Boost库的一些主要好处是什么(因此我为什么要使用它),Boost库的可移植性如何?
发布于 2008-09-29 15:48:15
您只需阅读Boost Background Information页面,就可以快速了解应该使用Boost的原因以及使用它的目的。值得花几分钟的时间。
发布于 2008-09-29 15:52:36
99%便携。
我想说的是,它有相当多的库,一旦你发现boost解决了一个需求,这些库就会非常有用。你可以自己编写代码,也可以使用非常可靠的库。拥有像多索引,Lambda,程序选项,RegEx,SmartPtr和元组这样的东西的货架源码是令人惊讶的……
最好的做法是花一些时间浏览不同库的文档,并评估它是否对您有用。
值得!!
发布于 2008-09-29 15:46:22
你会得到很多C++0x中即将出现的东西。但是除了这个通用性之外,一些更好的细节是一个简单的regex library,一个用于casting from strings to ints (词法转换)的模型库:
int iResult = 0;
try
{
iResult = lexical_cast<int>("4");
}
catch(bad_lexical_cast &)
{
cout << "Unable to cast string to int";
}
一个date/time library,还有其他的.
using namespace boost::gregorian;
date weekstart(2002,Feb,1);
date thursday_next = next_weekday(weekstart, Thursday); // following Thursday
还有一个Python interface (Boost Python),一个lexer/parser DSL (Boost精灵):
// A grammar in C++ for equations
group = '(' >> expression >> ')';
factor = integer | group;
term = factor >> *(('*' >> factor) | ('/' >> factor));
expression = term >> *(('+' >> term) | ('-' >> term));
而这只是触及了皮毛...
https://stackoverflow.com/questions/149268
复制相似问题