woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

容器.size()返回size_t,的注意事项

下面代码的原意是便利vector的前n-1个,但是,没注意到size_t是unsigned int,因此会出现bug.

如果m_vecSymbolSummary.size() == 0,那么m_vecSymbolSummary.size() - 1将会变成很大数,而产生问题

 

for (size_t t = 0; t < (m_vecSymbolSummary.size() - 1); ++t)

posted on 2008-09-09 15:26 肥仔 阅读(677) 评论(1)  编辑 收藏 引用 所属分类: Boost & STL

评论

# re: 容器.size()返回size_t,的注意事项[未登录]  回复  更多评论   

上次去面试别人就给了这样的一个题,当时不知道.靠

std::vector<int>::size_type是unsigned的,大于等于0的,而int是有符号的可以小于零.所以下面是死循环
std::vector<int>::size_type i;
for(i = v.size() - 1; i >= 0; --i)
{
cout <<v[i];
}
2008-11-11 10:43 | 王博炜