读书人

boost:options_description的有关问题

发布时间: 2012-02-12 17:16:33 作者: rapoo

boost::options_description的问题
想试一下boost里的regex,结果编译执行第一个例子(grep.cpp)就有错......

查了一下是因为option描述信息太长,需要折行显示,在计算格式时,跌代器加法运算越界。
对应boost里的以下代码:
/* options_description.cpp */
namespace {

void format_paragraph(std::ostream& os,
std::string par,
unsigned first_column_width,
unsigned line_length)
{
... ...
string::const_iterator line_begin = par.begin();
const string::const_iterator par_end = par.end();
... ...
//下面这句出了问题
if (line_begin + (line_length - indent) > par_end)
{
line_end = par_end;
}
else
{
line_end = line_begin + (line_length - indent);
}
... ...
}
}

是boost的bug?还是编译器的问题?请高手解答。

boot 1.33.1
vc2005



[解决办法]
用错可能性远大于bug。
要么认真看Boost.Program_options的文档,要么先跳过。
这个库不是特别重要吧,建议跳过。
[解决办法]
我们在windows下用vc编译boost_1_33_1的程序遇到过不少问题
在linux/gcc下未发现此类问题

读书人网 >C++

热点推荐