急!!!关于STL框架!
哪个朋友实现过自定义的STL标准容器,急需帮助!
问题1:
以下是我自定义STL标准容器的模式:(求正解)60分
容器标准界面
{
public:
//基本类型
//基本操作
private:
//基本数据结构对象
//迭代器对象
//分配器对象
//其它用于管理的相关数据
}
[解决办法]
如果只考虑标准所规定的接口的话还是不很难的
但要是追求人家的效率就……
你的问题看了两遍,没看到问题啊
[解决办法]
有一些 数据结构 C++ 描述的书 可以去参考下
[解决办法]
看C++标准中的接口定义。
[解决办法]
迭代器的 倒 略知一二
[解决办法]
给LZ一个
template<class _Ty>class custom{public: _Ty m_rgArray[16]; // Declare array int m_nIndex; // Index to array typedef _Ty value_type; typedef value_type & reference; typedef const value_type & const_reference; typedef custom_iterator<_Ty> iterator; typedef const custom_iterator<_Ty> const_iterator; typedef int difference_type; typedef int size_type; custom() : m_nIndex(0) { // init index to 0 } size_type size() const { // return length of sequence return m_nIndex; } size_type max_size() const { // return maximum possible length of sequence return 16; } bool empty() const { // test if sequence is empty return (m_nIndex > 0 ? false : true); } iterator begin() { // return iterator for beginning of mutable sequence return custom_iterator<_Ty>(&m_rgArray[0]); } iterator end() { // return iterator for end of mutable sequence return custom_iterator<_Ty>(&m_rgArray[m_nIndex]); } void push_back(const _Ty &_Val) { // insert element at end if (size() < max_size()) m_rgArray[m_nIndex++] = _Val; else throw; }};