全要素のデストラクタを呼び、サイズを 0 にします。
template <typename T>
class myvector
{
...
/**
* @brief Erases all elements from the container. After this call, size()
* returns zero.
*/
void clear(void)
{
for (size_type i = 0; i < size_; i++) {
heap_[i].~value_type();
}
size_ = 0;
}
...
};
clear() では capacty_ は変化しないのが、大きな特徴です。
全ソースコード: https://github.com/suomesta/myvector/tree/master/025
0 件のコメント:
コメントを投稿