随笔分类 - C++
C++有关
摘要:线程池 1. 创建线程 thread #include <thread> int main(){ std::thread th() } thread 直接创建一个线程,参数是所需执行的函数。 2. join 当开启线程后,主线程不会等待其他线程执行完后再关闭,所以需要让主线程去等待其他线程执行完之后
阅读全文
摘要:把C语言中的面向过程的线程,在C++中以面向对象的形式进行封装调用。 Thread.h /* * Thread.h * Copyright (C) 2023 zxinlog <zxinlog@126.com> * * Distributed under terms of the MIT licens
阅读全文
摘要:观察者模式,也称发布订阅模式,主题方发布,观察方订阅。 observe.h /* * * Copyright (C) 2023-09-13 14:06 zxinlog <zxinlog@126.com> * */ #include <func.h> #include <iostream> #incl
阅读全文
摘要:## bind ### 1. 介绍 bind 可以改变函数的形态,可以将一个函数改变成另一个函数的样式,但只能减少原函数的参数个数,不能增加。 ```cpp 如此处,int add(int, int), 使用bind可以绑定成一个 f 形式,原来的add的两个参数以10,20填入。bind的第一个参
阅读全文
摘要:### MutexLock.h ```cpp /* * MutexLock.h * Copyright (C) 2023 zxinlog * * Distributed under terms of the MIT license. */ #ifndef __MUTEXLOCK_H__ #defin
阅读全文
摘要:## 1. 概念 指将一台Redis服务器的数据,复制到其它的Redis服务器。前者称为**主节点**(master),后者称为**从节点**(slave);数据的复制是**单向**的,只能由主节点到从节点。 ## 2. 配置步骤 1、在/etc/redis下面,将6379.conf拷贝两份,分别称
阅读全文
摘要:## .vimrc ``` "通用配置" set title let mapleader=";" "快捷键前置 set nocompatible "不兼容原始vi模式" filetype on "开启文件类型检测 filetype plugin on "开启文件类型插件检测 set noeb "关闭
阅读全文
摘要:## 1. 概念 赋予运算符更多的功能。 ## 2. 内容 - 赋值运算符 - `+ - * / %` 运算符 - 自增自减运算符 - 输出流运算符的重载 `>` - 函数调用运算符 `()` - 下标运算符 `[]` - 成员访问运算符 `->, *` ## 3. 赋值运算符 这个一般是用已存在的
阅读全文
摘要:## 1. 概念 单例模式是一种设计模式。 保证一个类只有一个实例,提供一个全局访问点。 ## 2. 实例 - 构造函数私有化,防止外部创建对象。 - 提供静态成员函数 `getInstance`,获取单例指针。 - 使用静态指针保存单例实例。 ```cpp class Singleton { pu
阅读全文
摘要:# 命名空间 ## 1. 概念 通过定义命名空间,可以将符号分类管理,防止命名冲突。 ## 2. 使用方式 - 作用域限定符 `std::cout` - using 编译指令 `using namespace std;` - using 声明机制 `using std::cout` using 编译
阅读全文
摘要:## 1. 概念 模板是对类型的抽象,为了更好的实现多态的思想。 模板分为类模板和函数模板。 ## 2. 函数模板 就是在函数之前声明一下模板,然后执行的时候,函数自行判断推导类型。 ```cpp int add(int a, int b) { return a + b; } double add(
阅读全文
摘要:# 事务 ## 1. 概念 事务是一组命令的集合,强调整体性。以 `start transaction 或 begin` 开始, 以 `commit 或 callback` 结束。 ```sql start transaction update... 1 update... 2 commit beg
阅读全文
摘要:# bind bind 是C++ 的一个函数, 用来绑定其他函数,用来改造。 ## 1. 普通函数的bind 普通函数可以被绑定,传参。 ```cpp int add(int x, int y){ cout using std::bind; int main(){ auto f = bind(&ad
阅读全文
摘要:## 1. 打印函数 ```cpp 12 template 13 void display(Container& con) { 14 for (auto& elem : con) { 15 cout 21 void printSizeCapacity(const Container& con) {
阅读全文
摘要:## 1. set的初始化 ```cpp set number = {5, 2, 3, 1, 7, 8, 3, 5, 9, 6}; ``` ## 2. set 查找操作 ```cpp //set的特征 //1、存放的是key值,key值是唯一的,不能重复 //2、默认会按照key值升序排列 //3、
阅读全文
摘要:## 0. display函数 使用 泛型,定义打印函数。 ```cpp template void display(Container& con) { for (auto& elem : con) { cout number = {1,2,3,4,5}; // { } 初始化 list numbe
阅读全文