- void push_back(const T& val);
- void pop_back();
- int size() const;
- int capacity() const;
- void reserve (int n);
- void resize(int size);
- T& at(int idx);
- T& operator [](int idx);
- bool empty() const;
- void clear();
- T& front() const;
- T& back() const;
- void swap(Vector& other);
- T* data();
- Vector& operator = (const Vector&
- Iterator begin();
- Iterator end();
- Iterator insert(const Iterator it, const T& value);
- Iterator insert(const Iterator it, int n, const T& value);
- Iterator ==,++,--等运算符的重载
- Iterator find(const T& value);//自定义函数,返回第一个指定值的迭代器,不存在则返回end()
self::vector | std::vector | |
---|---|---|
insert(begin)(bool) | 0.0142116ms | 0.198501ms |
insert(begin)(int) | 0.0141603ms | 0.0004827ms |
性能提升策略:在各种方法往往需要将旧数组的数据转移到新数组中,对于基本类型(如int或bool等)的数据转移可以采用数据拷贝std::memcpy来取代循环(有重叠部分可以采用std::memmove)。
self::vector | std::vector | |
---|---|---|
insert(begin)(bool) | 0.0001323ms | 0.200709ms |
insert(begin)(int) | 0.0003312ms | 0.0003581ms |