
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
主要介绍了vector和它的实现

本文详细讲解C++ STL中list容器的设计与实现。首先介绍list的底层结构是基于带头节点的双向循环链表,具有O(1)时间复杂度的插入删除操作但不支持随机访问。文章重点剖析了迭代器的实现机制,包括迭代器分类、结构设计以及核心操作符重载(如operator*和operator->)。通过构建节点结构体和链表类模板,展示了push_back等基础接口的实现。最后总结了迭代器中解引用与成员访问

stack就是栈我们在C语言专栏里面已经讲过了,这里我们简单回顾一下,他是先进后出,类似与我家乡老式的月饼,先进去压在了最底下,后进去的在上面,要吃也只能吃最上面的,它满足后进先出 (LIFO)。同时他也操作受限:所有操作都只能在栈顶进行,无法直接访问栈中间的元素。queue就是队列,它满足先进先出,就像奶茶点门口的队伍一样,,先在队伍里面的先拿到奶茶。但是在cpp中queue这个头文件还包括多种

c++模板的原理,和模板特化时比较难的点,还有const命名的难点统统解决

C++多态是指同一接口表现出不同行为的特性,分为编译时多态(通过函数重载和模板实现)和运行时多态(通过虚函数和继承实现,利用虚函数表指针动态绑定实际调用的函数)

红黑树不仅是数据结构,更是工程智慧的结晶。它教会我们在复杂系统中寻找简单有效的约束,在严格与灵活之间找到平衡点。掌握红黑树,不仅掌握了一种数据结构,更掌握了一种系统设计思想

详细的介绍了红黑树,和是如何完成红黑树的封装成为map和set

本文介绍如何通过改造红黑树模板,使其能同时支持Map和Set的实现。关键点在于: 引入KeyOfT仿函数,从存储类型T中提取键值K 红黑树模板参数调整为<K, T, KeyOfT> Set直接存储K,Map存储pair<K,V> 通过迭代器封装控制元素的可修改性 最终实现一套RBTree底座衍生出Map和Set两种容器,体现了STL中泛型编程的精妙设计。

C++11是C++历史上最重要的更新,它通过移动语义、智能指针、Lambda、自动类型推导等特性,让C++在保持C级性能的同时,获得了Rust/Python级的生产力,实现了语言的现代化重生。这就是C++11的故事——一个关于性能、安全、生产力三者兼得的传奇。

关注我,学习c++不迷路:个人主页:爱装代码的小瓶子专栏如下:后续会更新更多有趣的小知识,关注我带你遨游知识世界期待你的关注。1998年C++标准发布后,标准委员会陷入了长达8年的"沉睡"。在这期间,编译器厂商面临一个尴尬的问题:“标准说可以这样做,但没说必须怎么做,也没说不能怎么做…”于是,各编译器厂商开始"自由发挥",导致C++代码在不同编译器间几乎无法移植。GCC (GNU Compiler








