基础知识
文章平均质量分 86
原来是悟净
信念即自我实现预言
展开
-
auto_ptr、unique_ptr、shader_ptr的实现及简单了解
为什么要使用智能指针: 智能指针的作用是管理一个指针,因为申请的空间在函数结束时忘记了释放,就造成了内存泄漏。使用智能指针可以很大程度上避免这个问题,因为智能指针就是一个类,当超出类的作用范围就会调用析构函数,析构函数就会自动释放内存资源。所以智能指针的作用就是在函数结束时自动释放内存空间,不需要手动释放; 四种智能指针: auto_ptr 采用所有权模式 智能指针的最基本功能:对超出作用域的对象进行释放。 #include <iostream> struct Arwen { void T原创 2022-03-04 11:27:35 · 705 阅读 · 1 评论 -
一文读懂时间复杂度——大O表示法
算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记做:T(n) = O(f(n))。它表示随时间问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。 这样用大写O()来体现时...原创 2020-05-03 20:11:55 · 1948 阅读 · 0 评论 -
shared_ptr智能指针总结
智能指针 new在动态内存中为对象分配空间并返回一个指向该对象的指针,delete,接收一个动态对象的指针,销毁对象,并释放与之相关联的内存。 为了更容易更安全的使用动态内存,新标准提供出了两种智能指针类型来管理动态对象。智能指针的类型类似于常规指针,重要的区别是它负责自动释放所指向的对象。 而这两种指针的区别在于管理底层指针的方式:shared_ptr允许多个指针指向同一个对象;unique_p...原创 2020-04-21 19:45:55 · 221 阅读 · 0 评论