C++从零开始的打怪升级之路(day28)

这是关于一个普通双非本科大一学生的C++的学习记录贴

在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料

那么开启正题

今天分享的是关于vector的底层构造模拟

1.基础函数

vector的底层实现和string不同,不是一个指针加两个下标,而是三个指针,而他的size,capacity将由对象函数来推导

namespace wkl
{
	template<class T>
	class vector
	{
	public:
		//vector的迭代器是一个原生指针
		typedef T* iterator;
		typedef const T* const_iterator;

		vector()
			:_start(nullptr)
			, _finish(nullptr)
			, _endofstorage(nullptr)
		{}

		iterator begin()
		{
			return _start;
		}

		iterator end()
		{
			return _finish;
		}

		const_iterator cbegin() const
		{
			return _start;
		}

		const_iterator cend() const
		{
			return _finish;
		}

		size_t size() const
		{
			return _finish - _start;
		}

		size_t capacity() const
		{
			return _endofstorage - _start;
		}

	private:
		iterator _start;        //指向数据块的开端
		iterator _finish;       //指向有效数据的尾
		iterator _endofstorage; //指向存储容量的尾
	};
}

新手写博客,有不对的位置希望大佬们能够指出,也谢谢大家能看到这里,让我们一起学习进步吧!!

相关推荐

  1. C++开始升级(day28)

    2024-02-01 22:46:02       29 阅读
  2. C++开始升级(day21)

    2024-02-01 22:46:02       32 阅读
  3. C++开始升级(day23)

    2024-02-01 22:46:02       35 阅读
  4. C++开始升级(day24)

    2024-02-01 22:46:02       34 阅读
  5. C++开始升级(day12)

    2024-02-01 22:46:02       29 阅读
  6. C++开始升级(day13)

    2024-02-01 22:46:02       36 阅读
  7. C++开始升级(day16)

    2024-02-01 22:46:02       34 阅读
  8. C++开始升级(day14)

    2024-02-01 22:46:02       35 阅读
  9. C++开始升级(day18)

    2024-02-01 22:46:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 22:46:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 22:46:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 22:46:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 22:46:02       18 阅读

热门阅读

  1. SQL语言(三)

    2024-02-01 22:46:02       30 阅读
  2. 对比上次MySQL的DDL

    2024-02-01 22:46:02       32 阅读
  3. 9.SELinux

    9.SELinux

    2024-02-01 22:46:02      19 阅读
  4. explicitCharkey是什么

    2024-02-01 22:46:02       36 阅读
  5. L1-017 到底有多二分数 15

    2024-02-01 22:46:02       32 阅读