1.STL中container有哪些?
答:vector,list,set,multiset,map,multimap,deque,bitset
2.map中的数据存储方式是什么?
答:Hashtable
3.map和hashmap有什么区别?
答:不知道。
4.hashmap是标准库中的吗?
答:不是。
5.vector中的erase方法跟algorithm的remove有什么区别?
答:我不怎么清楚,只知道remove_if可以用function object。还有可能vector自带的erase在执行过后会有一些优化的方法吧。
6.function object是什么?
答:(这个我说了半天,反正就是描述一下)
//==========================================================================
首先要了解iterator(迭代器)的概念:http://baike.baidu.com/view/925158.htm
迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素。
迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的smart pointer,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型别都必须提供自己的迭代器。
//==================然后回到容器来=====================
每种容器都提供De函数
begin()-----------返回一个iterator-------指向容器第一个元素。
end()-------------返回一个iterator-------指向容器最后一个元素的下一个位置。
size()------------
inggggggggggg
//==========vector=============
常用的函数:
iterator begin();
const_iterator begin() const;
iterator end();
iterator end() const;
size_type size() const;
size_type max_size() const;
bool empty() const;
reference front();
const_reference front() const;
reference back();
const_reference back() const;
void push_back(const T& x);
void pop_back();
void assign(const_iterator first, const_iterator last);
void assign(size_type n, const T& x = T());
iterator insert(iterator it, const T& x = T());
void insert(iterator it, size_type n, const T& x);
void insert(iterator it, const_iterator first, const_iterator last);
iterator erase(iterator it);
iterator erase(iterator first, iterator last);
void clear();