自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 智能指针的一些知识

智能指针中的auto_ptr是不推荐使用的,他为了解决浅拷贝问题,实际上是是每次拷贝一次,就将上一个指针置空,只让最后一个指向的指针来管理内存,这样就无法访问之前的指针了。scoped_ptr没用拷贝构造和构造函数,不允许赋值所以还是推荐unique_ptr...

2022-03-08 22:23:05 805

原创 关于面向对象的优化

C++编译器对对象构造的优化:用临时对象生成新对象时候,临时对象就不产生了,直接构造新对象就可以了Test t = Test(20) 与 Test t(20) 没有区别,都是只调用构造函数就没有了t = Test(30) 临时 对象就必须生成 显式生成临时对象t = 30也可以编译通过。隐式生成临时对象用指针指向临时变量是不安全的,临时对象出了这条语句就释放了,指针从而成为野指针。但是引用是安全的,声明周期将和引用一样。...

2022-02-04 23:23:36 409

原创 关于左值引用和右值引用

所谓的左值就是有内存,有名字 。右值一般是临时对象int && a是右值引用,只能绑定右值 int&& a = 20;int & a就是左值引用,可以绑定左值。如果要让他绑定常数,可以 const int& a = 20; 这其实先当于是int temp= 20; const int& a = temp;还是右值引用好,可以修改临时变量的值...

2022-01-13 21:29:11 209

原创 关于容器适配器

容器适配器没有自己的数据结构,他是另外一个容器的封装,他的方法,全部由底层依赖的容器进行实现,并且没有实现自己的迭代器栈,队列都是基于deque的容器适配器,优先级队列基于vector为什么要基于deque而不是vector?1.vector初始内存使用效率低,deque初始内存4096/sizeof(),vector还需要慢慢增长2.对于queue来说,需要尾部插入和头部删除需要o(1)3.vector需要大片的连续内存,而deque只需要分段的内存。存储大量数据时,deque内存利用

2022-01-04 20:40:02 672

原创 vector与deque的各种比较

vector:是动态开辟的数组,每次以原来空间的二倍大小进行扩容增加:push_back() 时间复杂度0(1) 可能导致扩容insert it迭代器指向的位置添加 0(n)双端队列deque的容量为4096/sizeof(T)first和last指针在中间控制...

2022-01-04 16:20:39 1183

原创 C++ primer笔记 第六章

6.1.1 局部对象对象的声明周期是指程序执行过程中该对象存在的一段时间。对于只存在于块执行期间的对象称为自动对象。局部静态对象:static int 这种来定义局部变量,只在程序第一次经过定义语句时候初始化,其他时候再次定义也不会有影响,同时出了函数块也不会销毁,直到程序终止才销毁。例如:int repeat() { static int x = 0; return x++;}一直反复调用这个程序,将会输出012345... 可以看出x并没有随函数结束而终止。6.1.2

2021-10-27 20:38:29 114

原创 C++ primer笔记 第四章

4.1基础4.4.1 基本概念一元运算符:就像取地址符&或者解引用符*这样的二元运算符:相等6运算符== 或者乘法运算符*这样的左值:可以取地址,有名字的 ,对象用作左值时候,用的是对象在内存中的位置右值:临时的变量,用的是对象的值。 有时候可以用左值代替优先级:一个对象的函数 > 一元运算符(*)...

2021-10-09 22:14:25 63

原创 C++ primer笔记 第三章

b3.1 命名空间using声明using std::cin 声明后可以直接用cin,不用加std了注意头文件最好不要用using3.2 标准库类型 string如果用等号初始化string,就叫做拷贝初始化反之叫直接初始化。例如 string s(10, 'S');可以读空格的输入 getline(cin, str);str.size()返回的是unsigned 类型,因此最好不要和int型进行比较和计算例如: string str = "asfas"; int..

2021-10-02 22:23:04 88

原创 C++ primer笔记 第二章

2.11一字节等于4位char 1字 = 4字节 = 32biteint 4字double 8字2.12无符号 unsigned + int/char 超出范围的话,结果是取模后的余数如unsigned char 的范围是0-255,将-1赋值给这个类型,结果是1%256的余数,结果是255。无符号数和有符号数相加,会得到无符号数。2.13以0开头的整数代表八进制数,以0x开头的是十六进制数2.21变量就是对象2.22多个文件中使用同一变量...

2021-09-24 21:39:48 107

原创 无连接算法(join-less)原理及其实现

首先,介绍一些概念:星形邻居物化模型:分为相交的和不相交的,不相交的用处更大,更实用

2021-06-08 22:20:48 370 1

原创 全连接算法(join-base)原理及实现

首先,拿到这样的图,表示空间临近关系的空间实例。

2021-06-08 22:15:10 1335 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除