自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 win10 vscode+clangd代码提示+cmake+mingw编译器和调试器

cmake+clangd代码提示+mingw编译器和调试器

2022-09-11 21:16:53 2275 1

原创 c++对象模型之虚表,虚表指针,thunk,多态,多重继承this指针偏移,多重继承virtual析构函数,多重虚继承下的访问虚基类成员变量时虚表的工作原理

上两篇文章将c++的核心部件[Value categories]讲清楚了,这篇文章将会带大家分析c++对象模型的底层原理。笔者这里用的编译器是`clang version 10.0.0-4ubuntu1`,不同编译器对数据布局的处理可能会不同(《深度探索c++对象模型》中已阐述原因,感兴趣的读者可以自行阅读)。友情提示:本文章涉及`ATT式`和`intel式`汇编代码的相关知识。

2022-02-19 18:24:10 879 2

原创 C++11,14,17中auto和decltype相关知识及拓展

auto和decltype相关知识及拓展前言从初始化器和表达式中推导( Deduction from Initializers and Expressions)auto类型说明符复合类型,常量和auto进一步探讨auto类型说明符auto与右值引用推导返回类型前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)这篇文章是上篇文章《…C++prvalue,xvalue和lvalue的相关知识》的续作,上次我们已经把prvalue,xvalue和lvalue说清楚了,

2022-02-09 13:23:54 1430

原创 用反汇编分析c++RVO开启和关闭时的底层原理以及C++prvalue,xvalue和lvalue的相关知识

用反汇编分析c++RVO开启和关闭时的底层原理前言本篇文章主要讲述C++prvalue,xvalue和lvalue的相关知识,会用到部分intel式和ATT式汇编的知识。我会在文章末尾给出测试代码的反汇编代码以及右值引用(Rvalue references)官方文档 。

2022-01-28 13:06:55 1202 2

原创 epoll反应堆代码深入分析

利用笔者制作的xmind快速理解epoll反应堆的实现,代码部分注释很详细!

2022-01-13 17:02:44 601 2

原创 3.2.3 使用tcpdump观察TCP头部信息(补充TCP协议的常用知识)

使用tcpdump观察TCP头部信息和三次握手四次挥手前言实验开始1. 延迟确认2. 位序号(seq)和确认号(ack)之间的关系3. TCP状态转移(书上p41-p42原话)4. FIN_WAIT_2状态5. TIME_WAIT状态6. 细说4)和8)这两个TCP报文段的详细信息前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本次实验是目的在于弄清tcp头部信息和三次握手四次挥手的细节,并且补充一些tcp协议的常用知识。读本文需要一些前置知识,具体请参照《l

2021-07-25 12:07:45 1595 7

原创 1.6.3 使用tcpdump观察DNS通信过程

使用tcpdump观察DNS通信过程前言DNS工作原理linux下访问DNS服务实验开始数据报信息前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本次实验是linux高性能服务器编程的第二个实验,难度不大,巩固tcpdump的一些常用知识。DNS工作原理我们通常使用机器的域名来访问这台机器,而不是直接使用IP地址。域名转换成IP地址需要使用域名查询服务。域名查询服务有很多种实现方式,比如NIS(Network Information Service,

2021-07-14 00:51:10 298

原创 1.5.3 使用tcpdump观察ARP通信过程

使用tcpdump观察ARP通信过程前言开启服务机的echo服务实验开始原理图前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本次实验是linux高性能服务器编程的第一个实验,目的在于了解ARP的运作过程实验测试机是阿里云ECS服务器和本地虚拟机。不同于书本上,它的测试机是在同一局域网内。开启服务机的echo服务首先查看是否支持echo服务。/etc目录是Linux的配置目录,底下包含各种配置文件。这里的**/etc/service**文件记录了主

2021-07-09 22:42:09 705 4

转载 c/c++ define和typedef

研究问题 宏定义#define与定义别名typedef使用方法define与typedef区别 要点: 宏定义#define为预处理指令在编译处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只在编译已被展开的源程序时才会发现可能的错误并报错。   type...

2021-03-25 20:27:20 145

原创 C++A星寻路的实现

C++A星寻路的实现前言==main.cpp====Level.h====Draw.h====Draw.cpp====Astart.h====Astart.cpp==测试结果前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要讲的A星寻路的代码实现,对A星寻路有一定的了解后再来阅读本文是个不错的选择。本文还用到了图形库,编译器为vs2019。图形库没有的可以去官方网站下载,步骤很简单下载直接安装即可。A星寻路的流程1.准备存储的路径和终点标志位。2

2021-02-07 14:43:05 632 2

原创 C++图的实现

C++图的实现前言源码如下:==main.cpp====Graph.h====GraphList.hpp====GraphMatrix.hpp==前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要讲的图的两种实现方法,第一种是邻接矩阵,遍历采用的是dfs栈实现,第二种是邻接列表,遍历采用的是dfs递归实现。源码如下:main.cpp#include <iostream>#include"Graph.h"#include"Grap

2021-02-01 16:29:20 865 5

原创 C++深度优先和广度优先的实现

C++深度优先和广度优先的实现前言源码如下:测试结果深度优先(栈实现)和广度优先(队列实现)图解前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要讲的深度优先算法和广度优先算法的区别,其中深度优先有两种实现方式,一种是递归法,另一种是非递归(栈实现),而广度优先就是队列的实现;后面还会以图形表述栈实现和队列实现;且用到了图形库easyx;源码如下:main#include <iostream>#include<vector

2021-01-27 14:21:35 1253

原创 C++哈希表的实现

本篇文章为笔者的读书笔记,未经允许请勿转载。本文主要讲的哈希表的创建和使用。哈希表是一种数据结构,用于存储和检索数据。它通过使用哈希函数将键值对映射到存储桶中,从而实现快速的数据访问。哈希表的作用是提供高效的查找、插入和删除操作。它的时间复杂度是常数级别的,因此在大量数据中能够快速定位需要的数据。哈希表的缺点是数组创建后难于扩展,当数组负载因子过大时就会扩容,性能会受到很大的影响。

2021-01-23 21:22:15 1222

原创 c++完全二叉树和二叉堆

C++手搓完全二叉树和二叉堆前言源码如下:前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要讲的完全二叉树和二叉堆的底层结构,以及二叉堆的数据测试;后面还有make_heap和priority_queue之间的联系;代码较长有兴趣的可以复制到自己电脑上运行一下;源码如下:stdafx.h// stdafx.h : 标准系统包含文件的包含文件,// 或是经常使用但不常更改的// 特定于项目的包含文件//#pragma once#

2021-01-20 00:31:19 303

原创 C++多态实现二叉树

C++多态实现二叉树前言前言本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要利用c++的多态特性来实现二叉树,遍历利用了四种方式:前序遍历,中序遍历,后序遍历,层序遍历(队列实现),还有利用栈来析构节点对象;这些遍历步骤的详细解释已在笔者前几篇博文中讲到,有兴趣的朋友可以参考一下;# 源码如下:stdafx.h// stdafx.h : 标准系统包含文件的包含文件,// 或是经常使用但不常更改的// 特定于项目的包含文件//#prag

2021-01-16 20:29:41 153

原创 c++多态实现树

文章目录

2021-01-15 21:04:29 172

原创 深度剖析快速排序中的递归

深度剖析快速排序中的双递归:本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要对快排的过程讲解和对递归函数的过程化详细剖析。源码如下:主体:// 1排序.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"void random(vector<int>& vec)//随机数生成器{ random_device r; for (auto& e : vec) { e = r() % vec

2021-01-12 02:09:55 884

原创 深度剖析归并排序中的双递归

深度剖析归并排序中的双递归:本篇文章为笔者的读书笔记,未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●)本文主要对双递归中的抽象细节进行图形式的展示。源码如下:主体:// 1排序.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"void random(vector<int>& vec)//随机数生成器{ random_device r; for (auto& e : vec) { e = r() % vec.siz

2021-01-11 21:37:24 346

A星寻路工程,vs2019,0积分下载

A星寻路工程,0币下载。

2022-11-03

测试代码RVO优化反汇编代码

测试代码RVO优化反汇编代码

2022-01-22

c++rvalue相关文档

c++rvalue相关文档

2022-01-22

epoll反应堆.xmind

xmind

2022-01-13

空空如也

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

TA关注的人

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