为什么c ++ 11标准库中没有std :: clear

Kev*_*ARD 2 c++ containers iterator std c++11

既然现在在c ++标准库上有泛型迭代器就像std::begin()std::end(),我想知道为什么没有std::clear()方法来清除容器?

How*_*ant 12

好处std::begin/end是它可以为数组实现.但是,它只能作为数组的命名空间作用域函数实现.因此,在通用代码std::begin/end中,通常的代码不必在需要时决定是否需要使用命名空间作用域或成员函数begin/end.

但我知道没有这样的类比std::clear.它只能用于具有成员的容器clear().如何在通用代码中使用它是没有两难的(至少不是我能想到的).