第38条 分解std::string之二:重构std::string
泛型目前的主要应用是容器,然而往往被忽略的是泛型算法。而对于泛型编程也是,实现泛型的算法,比绑死的成员算法要优秀,有利于改善类的封装性。关于效率的问题,这里值得一提,除了特殊的数据结构,一般的算法都是可能取得差不多的效率,这也是序列式容器提供自己算法的原因。
看看一些算法的实现:
template<typename T>
bool empty(const T& t)
{return t.begin()!=t.end();}
template<typename T>
void clear(const T& t)
{
t.erase(t.begin(),t.end());
return;
}