Effective STL 00 术语

来源:互联网 发布:华为手机移动数据设置 编辑:程序博客网 时间:2024/05/09 11:48

************************************************

时间:2013年06月07日

作者:常保龙

地点:核所C105

************************************************

        零零散散地看了很多次Effective STL这本书,但是很难有一个系统的认识和整体的把握,因此决定从今天起以“记笔记”的方式督促自己完成这本书的阅读!

术语

        标准序列容器:vector、string、deque、list;

        标准关联容器:set、multiset、map、multimap;

代码例子

        依赖类型const_iterator

template<typename C>bool lastGreaterThanFirst(const C& container){if (container.empty()) return false;typename C::const_iterator begin(container.begin());typename C::const_iterator end(container.end());return *--end > *begin;}
        上面的代码是为函数写一个模板,给定一个STL容器,返回容器中的最后一个元素是否大于第一个元素。

        在这个例子里,局部变量begin和end的类型是C::const_iterator。const_iterator是依赖形式类型参数C的一种类型。因为C::const_iterator是一种依赖类型,你被要求在它之前放上typename这个词。(一些编译器错误地接受没有typename的代码,但这样的代码不可移植。)

原创粉丝点击