clear
语法:
1 |
void clear(); |
clear()函数删除双向队列中所有元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
源代码 template <typename _Tp, typename _Alloc> void deque<_Tp,_Alloc>:: clear() { for (_Map_pointer __node = this->_M_impl._M_start._M_node + 1; __node < this->_M_impl._M_finish._M_node; ++__node) { std::_Destroy(*__node, *__node + _S_buffer_size()); _M_deallocate_node(*__node); } if (this->_M_impl._M_start._M_node != this->_M_impl._M_finish._M_node) { std::_Destroy(this->_M_impl._M_start._M_cur, this->_M_impl._M_start._M_last); std::_Destroy(this->_M_impl._M_finish._M_first, this->_M_impl._M_finish._M_cur); _M_deallocate_node(this->_M_impl._M_finish._M_first); } else std::_Destroy(this->_M_impl._M_start._M_cur, this->_M_impl._M_finish._M_cur); this->_M_impl._M_finish = this->_M_impl._M_start; } |
测试代码:
测试结果:
5
0
请按任意键继续. . .