对象打开后,当操作完成时,不在使用对象时,控件要求必须关闭对象,关闭对象调用 McDbObject::close() 函数,像这样调用: pObject->close(); 因为有这样的要求,便常常在使用控件过程中,很容易忘记关闭对象,建议使用智能指针的方式打开对象,而对象的关闭会在智能指针释放的时 ...
分类:
其他好文 时间:
2019-07-10 15:07:11
阅读次数:
102
转自 https://www.cnblogs.com/QG whz/p/4777312.html <! done C++ 引用计数技术及智能指针的简单实现 阅读目录1.智能指针是什么2.普通指针存在的问题3.什么是引用计数4.智能指针实现4.1.基础对象类4.2.辅助类4.3.为基础对象类实现智能指 ...
分类:
编程语言 时间:
2019-07-02 21:27:28
阅读次数:
152
第0课 - 课程目标(实现一个轻量级STL) 第1课 - 进阶高手的大门 第2课 - 数据的艺术 第3课 - 初识程序的灵魂 第4课 - 程序灵魂的审判 第5课 - 算法的时间复杂度 第6课 - 算法效率的度量 第7课 - 课程学习小问答 第8课 - 泛型编程简介 第9课 - 智能指针示例 第10课 ...
分类:
其他好文 时间:
2019-06-29 01:21:53
阅读次数:
153
一.智能指针内存泄漏(C++主要的Bug来源)1.动态申请堆空间,用完后不归还2.C++语言中没有垃圾回收机制3.指针无法控制所指堆空间的生命周期代码示例#include<iostream>#include<string>usingnamespacestd;classTest{inti;public:Test(inti){this->i=i;}intvalue(){r
分类:
编程语言 时间:
2019-06-23 23:01:38
阅读次数:
257
template class SharedPtr { public: SharedPtr():ptr(new T()),count(new int(1)){}//无参构造 explicit SharedPtr(T *src):ptr(str),count(new int(1)){}//有参构造 ex... ...
分类:
其他好文 时间:
2019-05-23 21:01:02
阅读次数:
89
前两天的电话面试中被问到智能指针的概念,完全答不上来。特意回来了解了一下,总结了一些智能指针的用法。之后再接着写C++的多线程。 为什么要使用智能指针? 一般来说在C++中新建指针都会使用new来新建一个被指向的对象。由于是程序员指定的内存分配,因此也必须要由程序员通过delete手动释放掉。但是总 ...
分类:
编程语言 时间:
2019-05-21 00:16:46
阅读次数:
181
1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他(放弃) 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1;做到指针进行共享 3. unique_ptr: 一个指针同时只能有一个使用者使用 4. weaked_ptr: 与shared_ptr搭配使用 ...
分类:
编程语言 时间:
2019-05-02 21:48:23
阅读次数:
209
1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1;做到指针进行共享 3. unique_ptr: 一个指针同时只能有一个使用者使用 4. weaked_ptr: 与shared_ptr搭配使用 1.1 ...
分类:
编程语言 时间:
2019-04-30 01:18:33
阅读次数:
152
析构函数有2种方式调用,一个是主动调用delete,另一个是根据RAII的规则,在对象的生命周期结束时自动析构。第一点没什么好说的,就简单讲下第二点。 对象的生命周期不等于是程序的生命周期,一般我们所谓的生命周期就是一个作用域,当变量或者对象离开这个作用域时就会自动析构。一般一对{}就是一个作用域, ...
分类:
编程语言 时间:
2019-04-27 13:03:24
阅读次数:
126
C++ 11 智能指针 前言: 近来,学习STL,突然发现有智能指针,做了一周的学习(工作之外的时间),断断续续的学习,特此做下记录。 诞生的原因: 为了防止内存泄露,和二次释放的问题。无非就是嫌弃自己管理内存太费劲,可以写个更简单管理堆内存的类。 利用C++的特性: 类结束会调用析构函数,无非就是 ...
分类:
编程语言 时间:
2019-04-27 00:37:25
阅读次数:
213