![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Alevery
C++ Graphics
展开
-
TopK问题(C++)
topk问题是问的比较多的问题,给定一个数组,求出最大的前K个数。1.排序 最符合直觉的就是先排序,再直接输出排好序的前K个元素(排序时应从大到小排)template<class T>auto topk(vector<T> arr, int k) { if (k > arr.size()) return arr; sort(arr.be...原创 2019-12-01 15:30:59 · 1037 阅读 · 0 评论 -
从Rust看内存管理
一直以来程序的内存模型分为栈和堆,这对应了程序的两种情形,在运行前就已经固定的内存使用和运行时动态的内存申请。前者在编译后内存空间就已经确定,每个Scope的进入和退出即为入栈和出栈,这种在栈分配的好处是由于内存地址事先确定,可以免去内存不确定下指针的解引用带来的额外开销和空指针等安全问题,同时免去了申请额外空白内存的开销并且空间的连续也提升了Cache的命中率,从而有效提升了性能。...原创 2019-11-10 12:02:04 · 1120 阅读 · 4 评论 -
实现C++智能指针
最近看不进书就在想C++内存模型,然后觉得可以实现一下智能指针,只知道原理是引用计数,没有参考别的什么。代码也写的比较啰嗦,先实现一下最常见的shared_ptrtemplate<class T>struct ptr { int ref_times = 0; T* raw_ptr = nullptr; ~ptr() { if (raw_ptr) delete raw...原创 2019-11-10 11:57:22 · 126 阅读 · 0 评论