- 博客(25)
- 收藏
- 关注
原创 【C++】map
map底层是由红黑树实现的,增删改查效率是O(logN),迭代器走的是中序,按Key有序遍历map的声明如下,Key就是map底层关键字的类型,T是map底层value的类型,map默认要求Key支持小于比较,如果不支持或者想要满足需求可以自行实现仿函数传给第二个模板参数map底层储存数据的内存是从空间配置器申请的一般情况下不需要传后面两个模板参数在实际使用中,我们会用到pair类型map底层的红黑树节点中的数据,使用pair存储键值对数据在C++中,std::pair。
2025-08-09 17:30:02
281
原创 【C++】set
摘要:C++中的set是一种基于红黑树实现的关联容器,主要用于高效查找场景。其默认使用小于比较对元素排序,支持自定义比较函数和内存分配器。set提供O(logN)时间复杂度的增删查操作,迭代器按中序遍历产生有序序列。主要功能包括:多种构造方式(默认、迭代器区间、拷贝、列表)、双向迭代器、元素插入(单值/区间)、查找(find/count)、删除(单值/区间)以及范围查询(lower/upper_bound)。set保证元素唯一性,插入重复元素会失败。
2025-08-09 16:56:41
135
原创 【C++】虚函数
C++虚函数机制解析:虚函数通过virtual修饰实现多态,派生类可重写基类虚函数。虚函数表存储虚函数地址,运行时动态绑定实现多态。纯虚函数(=0)使类成为抽象类,强制派生类实现。析构函数建议声明为虚函数以确保正确调用。C++11引入override和final关键字辅助虚函数管理。虚函数表结构包含基类虚函数、重写函数和新增虚函数,不同编译器实现细节可能不同。多态通过虚函数表机制在运行时确定调用函数地址实现。
2025-07-31 20:56:04
288
原创 【C++】vector入门
1.vector 是表示可变大小数组的序列容器2.vector 采用的连续存储空间来存储元素,也就是可以和数组一样采用下标对vector的元素进行访问。但是它的大小是可以动态改变的,而且它的大小会被容器自动处理。
2025-02-25 14:44:51
144
原创 【C++】类和对象(二)(默认成员函数、构造函数、析构函数、拷贝构造函数、operator运算符重载)
默认成员函数是当没有显式实现时,编译器自动生成的成员函数一个类的默认成员函数最多有6个:构造函数、析构函数、拷贝构造、赋值重载、取地址重载(普通对象和const对象取地址)
2024-12-06 00:17:39
1046
原创 【C++】入门基础(命名空间namespace、输入cin输出cout、缺省函数、函数重载、引用&、内联函数inline)
定义命名空间,需要使⽤namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等namespace作用为定义出一个独立的域,与其他的全局域隔开,不同的域中可以取相同名称的变量C++中存在函数局部域、全局域、命名空间域、类域;这些不同的域之中定义的变量并不会相互冲突namespace只能定义在全局同时namespace还可以进行嵌套定义。
2024-11-30 19:15:56
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人