自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (7)
  • 收藏
  • 关注

原创 Bridge

#include<iostream>class DrawAPI{public: virtual void drawCircle(int radiux, int x, int y) = 0;};class RedCircle : public DrawAPI{public: void drawCircle(int radius, int x, int y)override { std::cout << "red circle...

2020-12-12 18:25:46 99

原创 Adapter

#include<iostream>#include<string>class MediaPlayer{public: virtual void play(const std::string& type) = 0;};class AdvancedPlayer{public: virtual void playMP4()const = 0; virtual void playVLC()const = 0;};class MP...

2020-12-10 23:08:41 107

原创 singleton

#include<iostream>#include<string>#include<thread>#include<chrono>using namespace std;class Singleton{private: string m_str; Singleton(const string& s) : m_str(s) { } static Singleton* p_singleton;public:...

2020-12-09 22:38:10 123

原创 模板特化

模板特化只能在同一命名空间中进行,可以特化类模板,也可以特化函数模板。但函数模板只能全特化,类模板可以全特化,也可以偏特化。全特化//类模板全特化template<typename T, typename U>class Base{public: T t; U u; void show()const { std::cout << t << std::endl; std::cout <&l

2020-12-09 15:49:33 253

原创 Prototype

#include<iostream>#include<string>#include<unordered_map>using namespace std;class Shape{protected: string m_name;public: Shape(const string& s="shape") : m_name(s){ } virtual ~Shape() { } virtual Shape* clon...

2020-12-09 00:02:27 70

原创 Builder

#include<iostream>#include<string>#include<vector>using namespace std;class ProductA{public: vector<string> contents; void show()const { for(const auto& each : contents){ cout << each...

2020-12-07 21:27:55 79

原创 Abstract Factory Method

#include<iostream>#include<string>using namespace std;class AbstractProductA{public: virtual ~AbstractProductA(){ } virtual string methodA()const = 0;};class ProductA1 : public AbstractProductA{public: string methodA()co...

2020-12-06 19:14:17 73

原创 Factory Method

#include<iostream>#include<string>using std::string;using std::endl;using std::cout;class Product{public: virtual string operation()const = 0; virtual ~Product(){ }};class ConcreteProductA : public Product{public: ...

2020-12-05 18:24:22 69

原创 Creational patterns

Creational patterns就是多种创建不同对象的方法,大大提高了代码的复用和灵活性。常见的创建类模式有以下几种:Factory Method Abstract Factory Builder Prototype Singleton

2020-12-05 17:07:07 120

原创 设计模式

Design patternsare typical solutions to commonly occurring problems in software design. They are like pre-made blueprints that you can customize to solve a recurring design problem in your code.这里是一个学习设计模式的很好的网站。总的来说,设计模式分为以下三类: Creational patte...

2020-12-05 17:00:17 58

原创 linux编译静态库和共享库

假如有两个向量操作的C文件addvec.c和multvec.c。若要把他们编译成静态库libvector.a,首先要将两个C文件经预处理,编译,汇编得到可重定位目标文件(.o),然后要使用AR工具将其编译为静态库(.a)。gcc -c addvec.c multvec.c //得到.o文件ar rcs libvector.a addvec.o multvec.o //得到.a文件...

2019-12-30 13:16:56 181

原创 C语言返回字符指针的几种办法

用malloc在堆上分配空间,并返回。要注意的是,在调用函数中要free掉分配的空间。 将返回的字符指针作为函数形参传入,使用后返回该指针。 返回全局变量的字符指针。 在函数中使用static变量,放在bss段。...

2019-12-28 22:20:26 1302

原创 开源库“uthash.h”使用方法记录

"uthash.h"是一个非常好用的C语言关于哈希表的开源库,现将此使用方法做一记录。“uthash.h”直接从GitHub上Clone就行了。使用时#include "uthash.h"即可。下面重点说一下相关函数使用方法。首先需要一个结构体:struct hash_table{ int key; int value; //any type UT_...

2019-12-23 19:04:25 1489

原创 C++顶层const与底层const

在C++中,顶层const是指const作用于对象本身,可以表示任意对象是常量;而底层const是指指针或引用等复合类型所指的对象是一个常量。指针类型既可以是顶层const,也可以是底层const;而引用只能是底层const。const int a = 1; //顶层constint b = 2;const int c = 3;int *const p1 = &b; ...

2019-05-02 12:10:10 236

原创 C++之引用形参

把函数不会改变的形参定义成普通的引用是一种比较常见的错误,这么做会带给函数调用者一种误导,即函数可以修改形参的值。此外,使用引用而非常量引用也会极大的限制函数所能接受的实参类型。我们不能把const对象,字面值或者需要类型转换的对象传递给普通的引用形参。因此应尽量使用常量引用形参。#include <iostream>#include <string>#inclu...

2019-05-02 11:49:44 7410

原创 Python分片巧用

a = [1,2,3]a[len(a):0] = [4] #相当于a.append(4)a[:0] = [0] #相当于a.insert(0,0)a[::-1] #相当于a.reverse()

2019-04-07 15:00:20 115

原创 Python共享引用和原处修改

在Python中,变量总是一个指向对象的指针,而不是可改变的内存区域的标签:给一个变量赋一个新的值,并不是替换了原始对象,而是让这个变量去引用完全不同的一个对象。实际的效果就是对一个不支持原处修改的变量赋值,仅仅会影响那个被赋值的变量。但对于支持在原处修改的对象,共享引用时需倍加小心,因为对一个变量名的修改会影响其他的变量。如下图:可见,对不可变对象(数字,字符串,元组等)的共享引用,...

2019-04-07 14:21:57 558

原创 Python 中两种方式创建列表的区别

class Student: def __init__(self, value): self.value = value self.next = None假如我们创建了一个类Student,然后需要创建一个元素为Student类的列表,我们有两种方法。但这两种方法所得到结果是不一样的,其中第一个列表中的所有的Student都是同一个对象,其地址是相...

2019-04-07 09:36:12 931

原创 http中get和post两种请求方法的区别

GET参数通过URL传递,POST放在Request body中。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GET请求在URL中传送的参数是有长度限制的,而POST么有。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求只能进行url编码,...

2019-03-06 20:47:29 151

原创 Python中的staticmethod

Python中有比较常见的三种方法:实例方法 定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法); 调用:只能由实例对象调用。类方法 定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);...

2019-03-01 19:50:31 1144

原创 Python分解质因数

def func(a): ans = [] while a&gt;1: for i in range(2,a+1): if a%i == 0: ans.append(i) a //= i break return ans 

2019-02-21 16:29:13 441 2

原创 C 语言两个浮点数比较大小的办法

浮点数并非真正意义上的实数,只是其在某个范围内的近似。因此两个浮点数比较大小时,不能简单地使用大于小于号进行比较,应该判断连个浮点数差值的绝对值是否近似为0。#include &lt;stdio.h&gt;#include&lt;math.h&gt;#define EPS 1e-7 //判断浮点数是否位于0的一个很小的邻域内[-EPS,EPS]...

2019-01-20 21:56:19 16028

原创 C语言scanf函数%c格式符存在问题的解决办法

 在%c前面加一个空格,忽略前面数据输入时存入缓冲区中的回车符,避免被后面的字符作为有效字符读入。 main(){ char c; while(1){ printf("input: "); scanf(" %c",&amp;c); //%c前面加一个空格 printf("%c : %d\n",c,c); }}...

2019-01-20 21:40:52 654

binary_search_tree.zip

二叉排序树的完整C++实现,注释丰富,代码结构清晰,即下即用,欢迎交流!

2019-07-06

PyQt5制作的机器人动画

本脚本使用Python+Qt5编写了一个简单的机器人动画,整个代码不到300行,简单优美,想学习Python或者Qt相关技术的同学们可以download下来玩玩!

2018-07-30

Python制作的汉诺塔演示小脚本

这是一个用Python制作的汉诺塔演示小脚本,适合想入门Python的朋友!

2018-04-16

使用Qt制作的界面精美的时钟

本程序是用Qt编写的时钟程序(含源码),界面精美,代码注释清晰易懂。适合课程设计或C++大作业等。

2018-03-28

Qt5Core.dll

使用Qt但缺失Qt5Core.dll的朋友看过来!这里可以解决你们的燃眉之急!

2018-03-28

汉诺塔动态演示程序(Qt编写,含源码)

本程序是用Qt编写的汉诺塔动态演示程序(含源码),可自定义塔上的盘子数量。适合算法课程设计或C++大作业等。

2018-02-26

Web个人主页

用HTML,CSS,JavaScript实现的一个简单的个人主页。 想入门Web开发的可以参考一下

2018-01-16

空空如也

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

TA关注的人

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