摘要: 单例模式:用来创建独一无二的,只能够有一个实例的对象。 单例模式的结构是设计模式中最简单的,但是想要完全实现一个线程安全的单例模式还是有很多陷阱的,所以面试的时候属于一个常见的考点~ 单例模式的应用场景:有一些对象其实只需要一个,比如:线程池,缓存,对话框,处理偏好设置和注册表的对象,日志对象,充当 阅读全文
posted @ 2019-03-05 20:10 小时候挺菜 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 1:简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法(static Factory Method)模式,简单工厂模式是由一个工厂对象决定创建出来哪一种产品类的实例. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一类产品类(这些产品类继承自一个父类或接口)的实例。打 阅读全文
posted @ 2019-03-05 19:59 小时候挺菜 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数 两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存 2. 没有正确地清除嵌套的对象指针 3.  阅读全文
posted @ 2019-03-05 18:37 小时候挺菜 阅读(13549) 评论(0) 推荐(1) 编辑
摘要: snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, ...)。 将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中。 #include <stdio.h> int main 阅读全文
posted @ 2019-03-05 14:20 小时候挺菜 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 打印结果是不定的,不一定为0代码奇怪的地方在于构造函数中调用了自己的另一个构造函数我们知道,当定义一个对象时,会按顺序做2件事情:1)分配好内存(非静态数据成员是未初始化的)2)调用构造函数(构造函数的本意就是初始化非静态数据成员)显然上面代码中,CLS obj;这里已经为obj分配了内存,然后调用 阅读全文
posted @ 2019-03-05 11:51 小时候挺菜 阅读(17221) 评论(0) 推荐(0) 编辑