logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C++】vector的模拟实现

本文介绍了C++中vector的模拟实现方法。vector作为顺序表的模板类实现,通过三个指针(_start、_finish、_endofstorage)管理动态数组,分别指向数据起始、有效元素末尾和分配空间末尾。文章详细讲解了vector的核心设计,包括成员变量布局、迭代器实现、基本接口和构造/析构函数。重点剖析了动态扩容机制(reserve和push_back)、插入删除操作,以及拷贝构造中的

#c++#数据结构
【C++】stack/queue模拟实现及deque讲解

C++ STL中的std::deque(双端队列)是一种支持两端高效操作的分段连续容器,兼具栈和队列的特性。作为stack和queue的默认底层容器,它通过中控数组管理多个缓冲区,实现O(1)时间复杂度的头尾插入删除,同时支持随机访问。与vector和list相比,deque在头部操作和内存连续性上取得平衡,适用于需要频繁两端操作的场景。本文通过模拟实现stack和queue类模板,展示了容器适配

#c++#数据结构
【C++】string的模拟实现

本文实现了一个自定义字符串类string,包含以下核心功能:1. 采用动态内存管理,支持SSO优化(短字符串使用栈内存);2. 提供完整迭代器支持,可通过范围for遍历;3. 实现深拷贝构造/赋值,避免内存问题;4. 支持常用字符串操作(增删改查、比较、子串等);5. 重载流操作符实现输入输出;6. 通过缓冲区优化提升输入效率。关键特性包括:内存自动扩容、安全的边界检查、高效的swap操作,以及传

#c++#数据结构
C++入门

本文概述了C++语言的发展历程、核心特性及应用领域。C++自1998年C++98标准发布以来,历经多次重大更新(如C++11、C++20等),逐步完善了模板库、并发编程等现代特性。文章详细介绍了C++的基础语法元素,包括命名空间(解决命名冲突)、输入输出流、缺省参数、函数重载(支持多态)、引用(变量别名)、内联函数(优化性能)以及nullptr关键字(替代NULL)。同时指出C++在服务器、游戏引

#c++#开发语言
到底了