自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++学习笔记 建造者

建造者模式生成的对象有复杂的内部结构,将分步骤的去构建一个复杂的对象,分多少步是确定的,而每一步的实现是不同的,可能经常发生变化;(类比工厂模式)#include <iostream>#include <vector>using namespace std;class Builder;// Productclass Product{public: void AddPart(const char *info) { m_PartInfoVec.push_b

2021-12-28 21:43:54 669

原创 C++学习笔记 单例与原型

一、单例单例模式是指在整个系统生命周期内,保证一个类只能产生一个实例,确保该类的唯一性。单例模式分类单例模式可以分为 懒汉式 和 饿汉式 ,两者之间的区别在于创建实例的时间不同。懒汉式系统运行中,实例并不存在,只有当需要使用该实例时,才会去创建并使用实例。这种方式要考虑线程安全(线程争夺资源,加锁等办法)。饿汉式系统一运行,就初始化创建实例,当需要时,直接调用即可。这种方式本身就线程安全,没有多线程的线程安全问题。单例类的特点构造函数和析构函数为私有类型,目的是禁止外部构造和析

2021-12-28 21:30:07 422

原创 C++学习笔记 工厂与策略

一、设计模式的分类C++各类设计模式及实现1.工厂模式 工厂模式属于创建型模式,大致可以分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。enum CTYPE {coreA, coreB};class SingleCore{public: virtual void show() = 0;};class SingleCoreA : public SingleCore{public: void show() { cout << "A";...

2021-12-28 20:48:26 1121

原创 C++学习笔记 谈谈虚函数与多态

虚函数,虚表指针,虚函数表,动态什么是动态多态呢?动态多态:显然这和静态多态是一组反义词,它是在程序运行时根据基类的引用(指针)指向的对象来确定自己具体该调用哪一个类的虚函数。具体代码请参考C++ 之 多态动态多态的条件:●基类中必须包含虚函数,并且派生类中一定要对基类中的虚函数进行重写。●通过基类对象的指针或者引用调用虚函数。重写 :(a)基类中将被重写的函数必须为虚函数(b)基类和派生类中虚函数的原型必须保持一致(返回值类型,函数名称以及参数列表),协变和析构函...

2021-12-23 23:50:43 188 1

原创 函数编程(Haskell) 学习笔记(一)

目录0. 进入/退出交互模式ghci1. 简单的运算2. 简单的函数3. Haskell的if语句4. 列表5. 区间6. 列表推导式7. 元组0. 进入/退出交互模式ghci安装好Haskell,命令行敲ghci进入交互模式Code$ ghciGHCi, version 8.6.5: http://www.haskell.org/ghc/ :? for helpPrelude> ghci>:q .

2021-12-21 21:40:35 857 1

原创 “C++学习笔记“刷题 STL1_Iter

在 STL1Iter 组的所有任务中,不使用容器进行数据处理:初始集由读取迭代器读取并立即传递给所需的算法,获得的结果立即输出到文件或发送到问题书使用适当的写迭代器。如果算法需要使用函数对象,那么在支持 C++11 标准的编译器的情况下,应该使用 lambda 表达式。在大多数情况下,使用不捕获变量的 lambda 表达式就足够了,或者如果编译器不支持 C++11 标准,则使用普通函数就足够了(请参阅 STL1Iter2 的注释)。 更复杂的任务需要使用带有捕获的外部变量或结构的 lambda 表达

2021-12-11 16:53:40 515 8

转载 “C++学习笔记“ 网络编程

目录一、C++信号处理signal() 函数raise() 函数二、C++多线程创建线程终止线程向线程传递参数连接和分离线程std::thread三、C++Web 编程一、C++信号处理信号是由操作系统传给进程的中断会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获..

2021-12-09 20:29:13 461

原创 数据库(SQLite)学习笔记(四)

习题实战:sqlite3 authors.dbSQLite version 3.31.1 2020-01-27 19:55:54Enter ".help" for usage hints.sqlite> .databasesmain: /home/kowlooncen/authors.dbsqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';authorsAuthors2authorsqlite&g

2021-12-08 22:37:20 2426

原创 数据库(SQLite)学习笔记(三)

一、SQLite创建表CREATE TABLE 语句的基本语法如下:CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns), column2 datatype, column3 datatype, ..... columnN datatype,);CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有tab...

2021-12-08 21:33:15 468

原创 数据库(SQLite)学习笔记(二)

创建数据库$ sqlite3 DatabaseName.db$ sqlite3 testDB.db创建并打开数据库文件sqlite>.open test.db检查是否在数据库列表sqlite>.databasesseq name file--- --------------- ----------------------0 main /home/sqlite/testDB.db退出 sqlite .

2021-12-08 20:30:08 172

原创 “C++学习笔记“ STL2_容器

目录1. 容器的分类与基本函数顺序容器关联容器容器适配器成员函数2.容器定义的类型与构造函数参数interator、const_iteratorreverse_interator、const_reverse_interatorbegin()、end()、cbegin()、cend()rbegin()、rend()、crbegin()、crend()reference, const_reference引用(Reference)常引用(Const Refe..

2021-12-07 23:23:35 955

原创 “C++学习笔记“ STL1_迭代器

定义:C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++ 标准模板库的核心包括以下三个组件: 组件 描述 容器(Containers) 容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、vector、map 等。 算法(Algorithms) 算法作用于容器。它们提供了执行各种操作的方式,包括对

2021-12-07 13:26:28 260

原创 数据库(SQLite)学习笔记(一)

目录一、了解SQLite二、SQLite的命令三、SQLite的语法四、SQLite数据类型一、了解SQLiteSQLite是一个软件库(进程内的库),实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。二、SQLite的命令如需获取可用的点命令的清单,可以在任何时候输入 ".help"。例如: sqlite>.help 查看 SQLite 命令提示符的默认设置,尝试使.

2021-12-06 18:43:05 2693

原创 “C++学习笔记” 关于二叉树:二叉表示树判断算术表达式是否存在错误

输入一个算术表达式,判断该表达式是否合法,若不合法,给出错误信息;若合法,则输出合法表达式的表达式树。【数据模型】二叉表示树具有以下特点:1.叶子结点一定是操作数 2. 分支结点一定是操作符【算法分析】表达式不合法有三种情况:①左右括号不匹配;②变量名不合法;③运算符两旁无参与运算的变量或数。【解题思路】1. 根据运算符的优先顺序,将表达式结合成(左操作符 运算符 右操作符)的形式2. 由外层括号开始,运算符作为二叉表示树的根结点,左操作数作为左子树,右操作数作为右子树3. 如果某子..

2021-06-28 14:20:05 273

原创 “C++学习笔记” 关于string:把一句话分解成单词,然后排序

自己的学习笔记,如有错误,还请指正,谢谢。初代版 : 输入字符串直到“**”结束,对字符数组进行排序,再强行用了向量的函数。#include <iostream>#include <vector>#include <algorithm>#include <sstream>#include <string>using namespace std;int main(){ string ar...

2021-06-25 20:54:25 894

空空如也

空空如也

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

TA关注的人

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