自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中Duration、Time_point和Clocks

C++11中的chrono库,实现时间相关的功能。1.duration duration表示一段时间间隔,原型是: template<class Rep, class Period = std::ratio<1>> class duration Rep是一个数值类型,表示时钟个数,Period表示每个时钟周期的秒数。Period的默...

2019-12-24 10:55:35 4159 1

原创 shared_ptr的内部实现原理

本文先分析shared_ptr的内部实现原理,然后实例演示shared_ptr的使用。1. 实现原理 shared_ptr的定义如下:template<class _Ty>class shared_ptr : public _Ptr_base<_Ty> shared_ptr从基类_Ptr_base 继承了如下成员变量(部分源码):...

2019-12-20 19:04:01 10360 2

原创 asio::io_context的事件循环

1. asio::io_context asio::io_context表示io的上下文,任何io都会涉及到一个io_context。 同步io会隐式地启动一个io_context, 而异步io需要我们指定一个io_context。 调用run()函数进入io事件循环。如果有io事件,事件完成会调用回调函数;如果没有io事件, io_context会自动取消事件循...

2019-12-19 15:50:21 5369

原创 基于Asio 的定时器( asio::steady_timer )

Asio是“异步 IO操作”。asio::steady_timer是定时器。1. io_context io_context对象为异步IO对象提供核心功能。每个 Asio 程序都至少有一个io_context对象。 run()是一个阻塞调用,所有的异步操作完成后,run()才返回。 下面程序空有io_context对象,却没有任何异步操作,所以run(...

2019-12-19 14:46:03 9711 2

原创 C++ vector 中 double 与 int8_t 转化

1. vector<double> 转化为 vector<int8_t>void EncodeDouble(const std::vector<double>& data, std::vector<int8_t>& result){ const double *dataPtr = data.data(); ui...

2019-12-12 16:30:03 3851

原创 C++ 模拟反射机制

本文用C++ 模拟反射机制。 声明一个类时,用类名注册一个打印函数。 打印函数的签名有规则:参数是string, 返回值是void ,函数名时Print+类名。#include <iostream>#include <map>#include <functional>#include <memory>#inc...

2019-12-11 09:29:29 383

原创 算法分析(二) - 归并排序 & 快速排序

归并排序、快速排序都是基于比较的排序算法。本文将详细分析这两种排序。 先说结论算法 基于比较 原地排序 稳定性 时间复杂度 最好 时间复杂度 最坏 时间复杂度 平均 归并排序 ✔ ✘ ✔ nlog(n) nlog(n) nlog(...

2019-12-04 14:32:10 235

原创 Typescript的数据类型

Typescript的数据类型有:布尔类型(boolean)var flag:boolean = true;数字类型(number)var num:number = 100;字符串类型(string)var str:string = "April";数组类型(array)var arr:number[] = [1,2,3]; 或var arr...

2019-12-03 20:42:11 162

原创 算法分析(一) - 冒泡排序 & 插入排序 & 选择排序

冒泡排序 、插入排序和选择排序都是基于比较的排序算法。本文将详细分析这三种排序。 先说结论:算法 基于比较 原地排序 稳定性 时间复杂度 最好 时间复杂度 最坏 时间复杂度 平均 冒泡排序 ✔ ✔ ✔ O(n) O() O() ...

2019-12-02 19:29:15 361

空空如也

空空如也

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

TA关注的人

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