025: clear()

clear() を定義します。

全要素のデストラクタを呼び、サイズを 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 件のコメント:

コメントを投稿