自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 大话设计模式C++版——简单工厂模式

文章目录前言一、包含的角色二、优势1.实现了松耦合二、C++实现1.代码总结 前言 用C++把大话设计模式中的案例复现 一、包含的角色 简单工厂包含三个角色: (1)工厂类Factory:工厂工厂类是用来制造产品的。因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数。这个函数能够根据“标识符”的不同生成不同的ConcreateProduct,当然这些ConcreateProduct都是继承自AbstractProduct的。 (2)抽象产品类Abstrac.

2021-11-02 16:55:52 438

原创 百度面试总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 百度一面面经前言自我介绍1.C++基础知识1.1纯虚函数与虚函数对比1.2深拷贝与浅拷贝区别1.3知道多态嘛,有几种1.4mutable与volatile的区别1.5vector的resize和reverse有什么不同1.6inline和define的区别1.7如果要你实现一个map,底层会用哪些数据结构2.操作系统和计算机网络2.1select和epoll区别,他们算同步还是异步io,区别在哪里2.2malloc是怎么实现的2.3多进程与

2021-07-18 20:44:43 86

原创 剑指Offer总结第二部分

面试题16:数值的整数次方 题目:实现函数double power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 bool g_InvalidInput=false; double power(double base,int exponent) { g_InvalidInput=false; if(equal(base,0.0)&&exponent<0) { g_InvalidInput=tru

2021-07-16 17:20:19 60

原创 剑指Offer总结

基础知识 面试题1:赋值运算符函数 1.如下为类型CMystring的声明,请为该类型添加赋值运算符函数 class CMystring { public: CMystring(char *pData=nullptr); CMystring(const CMystring&str); ~CMystring(void); private: char* m_pData; } 首先要注意以下几点: 是否把返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(*this)。只有返回一

2021-07-16 17:19:32 89

原创 2021-04-20

volatile关键字是防止在共享的空间发生读取的错误。只保证其可见性,不保证原子性;使用volatile指每次从内存中读取数据,而不是从编译器优化后的缓存中读取数据,简单来讲就是防止编译器优化。 在单任务环境中,如果在两次读取变量之间不改变变量的值,编译器就会发生优化,会将RAM中的值赋值到寄存器中;由于访问寄存器的效率要高于RAM,所以在需要读取变量时,直接寄存器中获取变量的值,而不是从RAM中。 在多任务环境中,虽然在两次读取变量之间不改变变量的值,在一些情况下变量的值还是会发生改变,比如在发生中断程

2021-07-16 17:18:24 56

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除