
C++
米兰的枫
这个作者很懒,什么都没留下…
展开
-
vector
【代码】vector。原创 2024-03-06 16:10:59 · 173 阅读 · 0 评论 -
C++ map用法
【代码】C++ map用法。原创 2024-03-03 11:26:10 · 273 阅读 · 0 评论 -
STL-map测试
#include <map>#include <iostream>#include <string>using namespace std;int main(){ map<string, int> simap; //以string为键值,以int为实值 simap[string("jjhou")] = 1; //第一对内容是{"jjhou", 1} simap[string("jerry")] = 2; //第二对内容是{"jerr原创 2021-08-18 20:33:57 · 88 阅读 · 0 评论 -
STL-map测试、底层实现-红黑树
1.为什么用红黑树实现?map, set底层都提供了排序功能,红黑树形式存储的键值是有序的。同时红黑树可以在O(log n)时间内做插入,查找和删除。2.红黑树的性质红黑树是每个节点都带有颜色属性的二叉搜索树,颜色要么是红色,要么是黑色。性质1:红黑树的每个节点要么是红色,要么是黑色。性质2:红黑树的根节点一定是黑色的。性质3:红黑树的所有外部节点都是黑色的。(外部节点是扩充二叉树中对所有空指针填充的节点)性质4:红黑树的所有红色节点的两个子节点一定是黑色节点。(这就保证了红黑树从根到外部节点转载 2021-08-12 20:23:01 · 611 阅读 · 0 评论 -
结构体-链表C++
https://www.cnblogs.com/P3nguin/p/7711068.html// 创建结构体模板struct studentstruct student{char *name; // 学生名字int num; // 学生学号int age; // 学生年龄};// 使用该结构体模板创建三个变量stu1, stu2, stu3struct student stu1, stu2, stu3;// 定义三个结构体变量stu1, stu2, stu3str原创 2021-08-18 14:36:16 · 1649 阅读 · 0 评论 -
STL-vector
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ int i; vector<int> vi(2,9); cout << "size=" << vi.size() << endl; //size=2 cout << "capacity" <&原创 2021-09-02 22:15:01 · 93 阅读 · 0 评论 -
C++面经知识点
面对对象:1.面向对象是一种编程思想,把一切东西看成是一个个对象,比如人、耳机、鼠标、水杯等,他们各自都有属性,比如:耳机是白色的,鼠标是黑色的,水杯是圆柱形的等等,把这些对象拥有的属性变量和操作这些属性变量的函数/方法打包成一个类来表示2.面向过程和面向对象的区别面向过程:根据业务逻辑从上到下写代码面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程C++五大特性:对象、抽象、封装与消息隐藏、继承、多态三大特性:封装、继承、多态封装:将代码的细节隐藏原创 2021-08-30 11:55:36 · 273 阅读 · 1 评论 -
结构体字节对齐
结构体字节对齐原创 2021-08-30 09:52:49 · 88 阅读 · 0 评论 -
智能指针C++11
C++ 11中最常用的智能指针类型为shared_ptr,它采用引用计数的方法,记录当前内存资源(对象)被多少个智能指针共同引用。该引用计数的内存在堆上分配。当新增一个引用计数时加1,当过期时引用计数减1。只有引用计数为0时,智能指针才会自动释放引用的内存资源。对shared_ptr进行初始化时不能将一个普通指针直接赋值给智能指针,因为一个是指针,一个是类。可以通过make_shared函数或者通过构造函数传入普通指针。并可以通过get函数获得普通指针。智能指针的作用是管理一个指针,因为存在以下这种情况:原创 2021-08-17 15:22:23 · 96 阅读 · 0 评论