自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

decode

生活从未变得轻松 是你在一点点变得强大

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式之 原型模式(prototype)(C++实现 深拷贝 + 浅拷贝版本[bug])

本文介绍设计模式中的原型模式。本质上其实就是克隆。下面以个人简历很工作经历为例。深拷贝版本:#include #include #include using namespace std;templateclass ICloneable{public: virtual T* clone() = 0;};class CWorkExper

2016-03-31 23:34:39 2163

原创 设计模式之 创建者(Builder)模式(C++实现)

这篇文章介绍设计模式中 "创建型模式"的第三种 —— 创建者(Builder)模式。创建者模式将复杂对象的构造和表示相分离,同样的构建过程可以创建不同的表示。其强调创建产品的过程是有步骤的,有时候甚至可以强制指定构建次序。其中产品的不同表现形式是通过扩展 构造器 实现的。下面以汽车产品为例进行说明,比如汽车包括:汽车厂商 汽车引擎 汽车底盘 汽车轮胎。一

2016-03-31 22:52:39 549

原创 面向对象编程的原则

面向对象的原则 —— 高内聚 低耦合(最终目的)单一职责原则(SRP Single Responsibility Principle)类的职责单一 对外只提供一种功能开放封闭原则(OCP Open Close Principle)类的改动是通过增加代码进行的 而不是修改源代码依赖倒置原则(DIP Dependence Inversion Principle)依赖抽象

2016-03-31 01:56:17 650

原创 设计模式之 抽象工厂模式的扩展(C++实现)

上一篇主要介绍了抽象工厂模式。考虑下面一种应用场景:我们需要增加一个产品族,如何实现。当然可以考虑修改抽象工厂 增加相应的方法。但这违反了面向对象编程的原则——开放闭合原则。因此我们需要尽量去扩展 而不是修改。【对扩展开发 对修改闭合】下面给出汽车厂中增加卡车产品族的例子代码如下:#include #include #include

2016-03-31 01:53:21 553

原创 设计模式之 抽象工厂模式(C++实现)

这篇文章介绍设计模式中的 抽象工厂模式。目前为止介绍过 简单工厂模式 工厂方法模式。本文要介绍的抽象工厂模式可以看做是 多个工厂方法模式的组合。以汽车厂生产汽车为例进行说明。代码如下:#include #include #include using namespace std;class CCarBase{public: virtual

2016-03-30 23:05:16 398

原创 设计模式之 工厂方法模式(C++实现)

这篇文章介绍设计模式中的 工厂方法模式。前面两篇文章介绍了简单工厂模式的介绍和实现。本文同样以汽车厂生产汽车为例介绍工厂方法模式。代码如下:#include #include #include using namespace std;// Abstract Productclass CarBase{public: // 虚函数 实现多态

2016-03-30 23:03:17 375

原创 设计模式之 简单工厂模式(C++ 模板实现)

这篇文章在上一篇介绍简单工厂模式的实现基础之上,采用C++模板技术来克服上一篇中提到的缺点。同样以汽车厂生产汽车为例进行说明。代码如下:#include #include using namespace std;class CCarBase{public: virtual void printName() { cout << "汽车厂商:" <<

2016-03-30 23:01:33 1303

原创 设计模式之 简单工厂模式(C++实现)

这篇文章主要介绍 简单工厂模式 。下面是关于汽车厂生产汽车的一个典型案例。代码如下:#include #include #include using namespace std;// Abstract Productclass CarBase{public: // 虚函数 实现多态 virtual ~CarBase(){} virtual v

2016-03-30 22:59:13 365

原创 设计模式之单例模式 (模板 智能指针 删除器) 实现【饿汉】

上一篇实现的是使用模板 智能指针 删除器的懒汉模式单例。这一篇实现饿汉模式的版本。#include #include #include #include using namespace std;template class CEagerSingletonPtr{private: static T m_sg;private: CEagerSingleton

2016-03-29 16:39:48 683

原创 设计模式之单例模式 (模板 智能指针 删除器) 实现【懒汉】

上一篇关于单例模式的实现 主要是基于DCL。但是多线程环境下并不能保证完全线程安全。这篇文章实现的单例:懒汉模式 的单例基于模板和继承线程安全使用智能指针 防止内存泄露效率相对较高实现代码如下:#include #include #include #include using namespace std;template class

2016-03-29 15:05:27 1467

原创 Leetcode 57 Insert Interval

57. Insert IntervalMy SubmissionsQuestionEditorial SolutionTotal Accepted: 55165 Total Submissions: 234338 Difficulty: HardGiven a set of non-overlapping intervals, insert a

2016-03-28 20:43:36 474

原创 Leetcode 56 Merge Intervals

56. Merge IntervalsMy SubmissionsQuestionEditorial SolutionTotal Accepted: 63180 Total Submissions: 252043 Difficulty: HardGiven a collection of intervals, merge all overlapp

2016-03-28 18:50:10 451

原创 编程之美 2.19 区间重合判断

题目大意:给定源区间[x, y] (x

2016-03-28 16:31:26 566

原创 设计模式之 概览(设计模式是什么 设计模式分类)

一、设计模式是什么"设计模式描述了对象如何进行通信才能不牵涉相互的数据模型和方法。"通俗讲就是:解决类与类、对象与对象之间耦合性问题。二、设计模式的分类《Design Patterns: Elements of Resualbel Software》一书中将23种设计模式分为以下三类:1. 创建型模式(Creational)与对象创建有关 涉及对象实例化的方式 【共

2016-03-28 00:56:30 497

原创 win10 下使用VS2012 出现中文????的解决方案(仅限安装了visual assist插件)

--------------写点别的----------------恩,visual assist插件确实好用,但是前段时间它一直提示KEY KEY KEY网上找了好久的解决方案,然后重新安装好了~【目前来说很wonderful的解决方案如下:① 如果出现插件启动后提示需要KEY的 基本上你就要卸载 然后重新装了。但是。。。卸载不干净!!!然后重新装一个版本 还是没有用。所

2016-03-27 16:29:27 2572

原创 设计模式 之 单例模式 (C++ 懒汉经典实现 & DCL实现 & 饿汉经典实现)

顾名思义:单例模式,指的是仅有一个(类)实例。即:在应用程序的整个生命周期中,任何时刻,某个类(单例类)仅存在唯一一个实例。同时仅提供一个全局访问点。单例的实现一般要求满足:(1) 类构造函数私有(2) 提供一个全局访问点 一般是静态的共有方法一、单例的经典实现代码如下:class Singleton{public: // 全局访问点

2016-03-27 02:52:26 4092 2

原创 腾讯2016春招模拟笔试题 —— 编程题(3道)

写在前面的话~      春招 + 模拟笔试  【C++研发】      模拟笔试时间是    2016-03-25   21:30 ~ 22:30         试题主要包括两部分:不定项选择 + 编程  分别及时 时间都是30分钟。(坑~。。         前面的不定项选择15道 大部分都是往年的题 所以我基本上15分钟就提交了。。。(然并卵~。。         编程

2016-03-26 20:57:36 6709

原创 Leetcode 338 Counting Bits

338. Counting BitsMy SubmissionsQuestionTotal Accepted: 6881 Total Submissions: 12500 Difficulty: MediumGiven a non negative integer number num. For every numbers i in the rang

2016-03-25 23:59:09 647

原创 HTTP 请求的各种方法及安全性

一道题:下列哪些http方法对于服务端和用户端一定是安全的?()GETHEADTRACEOPTIONSPOST答案:C这道题注意 服务端和客户端都要安全。GET / HEAD / OPTIONS方法               只从服务端获取资源 并不对服务器进行修改 因此相对安全。               对于客户端

2016-03-25 20:13:09 4375

原创 【运算符优先级问题(持续更新...)】

一道题:计算 2^1 0261答案:  C---------------运算符优先级------------------从高到低依次是:取反   左移   按位与 按位异或  按位或

2016-03-25 18:49:24 394

转载 作业 进程 和 线程【转】

参考:作业、进程、线程 —— 真实的归宿

2016-03-25 01:13:22 344

原创 Leetcode 67 —— Add Binary

Total Accepted: 78879 Total Submissions: 291470 Difficulty: EasyGiven two binary strings, return their sum (also a binary string).For example,a = "11"b = "1"Return "100".Subs

2016-03-24 21:44:21 458

原创 Leetcode 29 —— Divide Two Integers

29. Divide Two IntegersMy SubmissionsQuestionTotal Accepted: 62780 Total Submissions: 403300 Difficulty: MediumDivide two integers without using multiplication, division and mo

2016-03-24 21:12:54 636

转载 【编程之美】1.11 NIM(1) —— 排石头的游戏

题目大意如下:N块石头排列成一行,每块石头对应一个编号。两个玩家依次取石头,每次取只能取任意一块或者相邻的两块。石头在游戏过程中不能移位,最后将剩下的石头一次取光的玩家获胜。问:该游戏是否存在必胜策略。拓展问题:1. 若最后取光石头的人输,又该如何应对?2. 两人轮流取,每次最少取一块,最多取K块,最后取走石头的人赢得游戏。如何应对?--

2016-03-24 15:15:15 785

原创 Leetcode 50 Pow(x, n) 两种方式求解

50. Pow(x, n)My SubmissionsQuestionTotal Accepted: 85668 Total Submissions: 307134 Difficulty: MediumImplement pow(x, n).Subscribe to see which companies asked th

2016-03-24 10:49:48 2212

转载 2.20 程序理解和时间分析

C++代码如下:#include #include #include using namespace std;int main(void){ vector rg; for (int i = 2; i < 32; ++i) { rg.push_back(i); } int hit = 0, hit1 = -1, hit2 = -1; for (__int64

2016-03-23 21:51:40 437

原创 关于图的一些日常

一、基础概念    2016-03-09             1. 强连通图和强连通分量 —— 搜索Tarjan算法时            强连通图:图G中任意两个顶点都强连通。                               注:顶点强连通指的是两个顶点之间至少存在一条路径            强连通分量:非强连通图中的极大强连通子图

2016-03-09 10:04:12 292

原创 每日细节点滴积累

一、basic           二、forget            三、unknown

2016-03-01 14:33:43 483

C++智能指针测试代码

C++ 7种智能指针测试代码

2016-04-15

空空如也

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

TA关注的人

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