为什么有的时候,析构函数必须是虚函数? 将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类的时候,然后使用基类指针指向该子类对象,释放基类指针的时候,可以释放掉子类空间,防止内存泄漏。 c++默认的析构函数不是虚函数是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存。而对 ...
分类:
编程语言 时间:
2020-10-08 19:43:22
阅读次数:
27
https://www.cnblogs.com/nanke/archive/2011/05/10/2042662.html 1.vector<class> &aa,作为函数参数 2.//清理 vector<类指针对象> ...
分类:
其他好文 时间:
2019-09-08 09:16:31
阅读次数:
56
继承语法格式如下: class 子类名称 : 继承方式(public private protected 三种) 父类名称 纯虚函数格式: virtual 返回值类型 函数名(参数列表)= 0;含有纯虚函数的类称为抽象类,抽象类不能进行实例,抽象类指针对象可以指向子类 int main(){ /* ...
分类:
编程语言 时间:
2018-01-13 14:21:56
阅读次数:
150
《EffectiveC++》读书笔记之三资源管理准备知识:所谓资源就是,一旦用了它,将来必须还给系统。最常用的资源是动态分配内存,其他常见的资源有文件描述器、互斥锁、图形界面的字形和笔刷、数据库连接以及网络sockets。auto_ptr是个“类指针对象”,就是所谓的智能指针,其析构..
分类:
编程语言 时间:
2016-11-04 02:19:21
阅读次数:
172
根据上一次的测试,有缓存的日志类性能会更好。用到了time.h类函数,所以在linux下就要改动一下了,windows环境下写的。思路采用(参照muduo库的日志,不过认为他线程不安全,和没用缓存,就改造了下)1.有一个总的缓存,logboss,为一个恶汉模式的单例类,指针对象为智能指针,析构函数讲...
分类:
编程语言 时间:
2015-09-26 22:43:30
阅读次数:
293
1、类指针、对象指针
class x{
//…
public:
voidshow();
};
main()
{
x x1,*ptr1; //定义类x的对象x1和类x的指针ptr1
x x2,*ptr2; //定义类x的对象x2和类x的指针ptr2
x*ptr3; //定义类x的指针ptr3
//…
pt...
分类:
编程语言 时间:
2014-12-15 15:28:21
阅读次数:
392
数据类型分为三类:基本数据类型,对象类型,id类型。基本数据类型:int ,float double char对象类型:类,指针对象,协议id类型:可以表示对象类型(在表示对象类型的时候 不需要加星号),不可以表示基本数据类型。格式化输出: int :%i 表示整数,%o表示 八进制,%#x表示十....
分类:
其他好文 时间:
2014-12-10 22:48:20
阅读次数:
170
条款13:以对象管理资源许多资源被动态分配于heap内而后被用于单一区块或函数内。它们应该在控制流离开那个区块或函数时被释放。标准程序库提供的auto_ptr正是针对这种形式而设计的特制产品。auto_ptr是个类指针对象,也就是智能指针,其析构函数自动对其所指对象调用delete。以对象管理资源的...
分类:
编程语言 时间:
2014-08-31 19:59:51
阅读次数:
292
对于tr1::shared_ptr在安装vs同时会自带安装,但是版本较低的不存在。而boost作为tr1的实现品,包含
“Algorithms
Broken Compiler Workarounds
Concurrent Programming
Containers
Correctness and Testing
Data Structures
Domain Specific
Fu...
分类:
其他好文 时间:
2014-07-19 23:18:19
阅读次数:
371