高效使用STL容器小tip
清泛原创
高效使用STL容器的前提是不要以一种愚蠢的方式去写代码,比如在循环里边每次都检查size()是不是0,每次都浪费线性时间。
看下边的例子:
while( c.size() != 0 ){……}
while( ! c.empty() ){……}
这两种方式有区别吗?当然有区别,对于任一种类型的容器,应该使用 empty() 成员函数来判断是不是空,因为对于所有标准容器,empty() 都是常数时间操作,只返回size是否为0,所以常被实现为inline函数。
看下边的例子:
while( c.size() != 0 ){……}
while( ! c.empty() ){……}
这两种方式有区别吗?当然有区别,对于任一种类型的容器,应该使用 empty() 成员函数来判断是不是空,因为对于所有标准容器,empty() 都是常数时间操作,只返回size是否为0,所以常被实现为inline函数。
上一篇:error LNK2019: 无法解析的外部符号 _Netbios@4,该符号在函数 中被引用
下一篇:error LNK2019: 无法解析的外部符号_socket,该符号在函数 中被引用