![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 81
Zeehoy
这个作者很懒,什么都没留下…
展开
-
[C++] 引用的本质
C++引用的本质原创 2022-10-01 11:28:17 · 382 阅读 · 0 评论 -
[C++] 数据结构
数据结构原创 2022-09-05 17:35:41 · 390 阅读 · 0 评论 -
[C++] 类继承相关知识
类继承原创 2022-08-31 11:14:46 · 256 阅读 · 0 评论 -
[C++] 排序算法
排序算法原创 2022-08-20 17:17:29 · 351 阅读 · 0 评论 -
[C++] C++面试试题
试题原创 2022-08-19 17:33:13 · 611 阅读 · 0 评论 -
[C++] Kmeans算法实现
kmeans原创 2022-08-07 11:55:18 · 3692 阅读 · 1 评论 -
[C++] const限定符
限定一个对象为常量,该对象的值不能被改变,且该对象必须初始化。原创 2022-08-05 09:22:30 · 266 阅读 · 0 评论 -
[机器学习][三维重建] 凸包算法——Graham扫描
凸包的严格数学定义比较复杂,这里只针对二维情况,因此用通俗的话来解释二维凸包:给定二维平面上的点集,凸包就是能够围住这些点的最小的凸多边形。Graham扫描法就是在给定点集的情况下,找到这么一个凸包的最常用的算法,时间复杂度是 O(nlogn)O(nlogn)O(nlogn),其中 nnn 是点集内点的总数。算法步骤大致如下:1.找到凸包最左下角的顶点作为起点 startstartstart,如上图中的 p0p_0p0。寻找方法非常简单,找到点集中纵坐标最小的点,如果有多个点,再在其中找到横坐标原创 2022-05-18 21:11:56 · 2491 阅读 · 1 评论 -
[C++] push_back和emplace_back的区别
一、vector容器内存的特点先介绍vector的内存特点,vector为了支持快速的随机访问,vector容器内元素以连续的方式存放,而为了提高在添加元素时的性能,vector允许在创建时额外预留一些多出来的储存空间,为添加新元素做准备。vector的元素并未存在vector地址最开始处,而是在后续一段地址,即vector.data()所指的地址才开始存放元素。个人猜测从&vector到vector.data()这段内存中,应该存放了这个vector的一些信息,比如说长度、容量等。cout原创 2022-04-24 21:22:37 · 2275 阅读 · 0 评论 -
[C++] 右值引用
1、左值左值是一块关联了变量名的内存位置,可以理解为一片有名有性的内存区域,可以通过变量名来调用它,自然也可以通过变量名来引用它。比如:int x=0;在该语句中,x 是一个左值, x 代表一个内存位置,它可以被程序的其他部分访问,比如:x = 12; //赋值cout << x << endl; //输出左值是可以引用的,引用左值会返回该变量名所对应的内存空间的地址:int *p=&x;cout<<p<<endl;009CF原创 2022-04-19 21:20:20 · 977 阅读 · 0 评论 -
[C++] 运算符的执行顺序
一、|| 运算由于 ∣∣||∣∣ 运算有一真,结果为真。当程序判断到有真值的语句时,后续语句会被短路,不再执行if( printf("这句为真,且会被执行") || printf("这句也为真,但由于前面一句已经判断为真,这句被短路了,不会再执行"));代码输出如下:借助这一特性,在数组遍历时,某些可能会越界的条件判断实际上不会越界:for(int i=0;i<n;++i){ if((i==0 || s[i-1]==' ') && s[i]!=' ') ++ans;原创 2022-04-13 09:50:33 · 1961 阅读 · 0 评论