容器:用empty来代替检查size()是否为0
2016-12-12 10:20
246 查看
对于任意容器c,写下
if (c.size() == 0)...
本质上等价于写下
if (c.empty())...
这就是例子。你可能会奇怪为什么一个构造会比另一个好,特别是事实上empty的典型实现是一个返回size是否返回0的内联函数。
你应该首选empty的构造,而且理由很简单:对于所有的标准容器,empty是一个常数时间的操作,但对于一些list实现,size花费线性时间。
if (c.size() == 0)...
本质上等价于写下
if (c.empty())...
这就是例子。你可能会奇怪为什么一个构造会比另一个好,特别是事实上empty的典型实现是一个返回size是否返回0的内联函数。
你应该首选empty的构造,而且理由很简单:对于所有的标准容器,empty是一个常数时间的操作,但对于一些list实现,size花费线性时间。
相关文章推荐
- 条款4:用empty来代替检查size()是否为0
- 用empty()来代替检查size()是否为空
- 条款4:用empty来代替检查size()是否为0
- STL高效编程(三) - 用empty()来代替size()判断容器是否为空
- 条款4:用empty来代替检查size()是否为0
- 用empty()来代替检查size()是否为空
- 调用empty而不是检查size()是否为0,来判断容器中是否有零个元素
- 条款4:用empty()来代替检查size()是否为0
- 条款4:用empty()来代替检查size()是否为0
- 调用empty()而不是检查size()是否为0
- 调用empty而不是检查size()是否为0
- 用empty来代替检查size()
- 检查变量是否设置:isset()和Empty()
- 【S4】使用empty()而不是判断size()是否为0
- C++ 顺序容器的操作(4) 容器大小的操作size、max_size、empty、resize
- 检查对象是否为NULL或者为Empty
- map常用成员(关联容器)----创建map<主键,主键对应的值>,增insert,删erase,改查找find,然后修改second,遍历iterator,获取元素个数size,判空empty
- 测试vector、list、set调用empty和size的耗时是否为常数
- 用empty检查是否为空