关于两个的区别,首先size()==0为bool表达式,empty()为函数调用,这一点很明显。查看源代码,
bool empty() const { return _M_node->_M_next == _M_node; }
size_type size() const {
size_type __result = 0;
distance(begin(), end(), __result);
return __result;
}
可以看出empty直接检查标记节点,而size是通过求首尾迭代器的距离来获取元素个数的。
查看的源代码来自http://www.sgi.com/tech/stl/download.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)