自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一、Makefile设计

一、Makefile设计。

2023-04-08 10:00:39 125

原创 BOOST库学习之网络通信

前言本次笔记记录如下知识点同步通信异步通信一、同步通信

2021-11-05 23:40:42 2442

原创 BOOST库学习之函数与回调

前言本次笔记记录如下知识点工具类refbindfunction一、工具类ref1、工具类ref作用介绍ref用于包装一个对象,使其看起来像别名一样。在传递参数时消除对象拷贝的代码,还可以利用它将不可拷贝的对象变为可以拷贝。2、类摘要ref库定义了一个很小,很简单的引用类型的包装器,名字叫reference_wrappertemplate<class T>class reference_wrapper{public: //构造函数 explicit ref

2021-11-01 23:16:51 388

原创 BOOST库学习之容器库(下)

前言本次笔记记录如下知识点property_tree容器一、property_tree容器1、property_tree容器介绍 property_tree是一个保存了多个属性值的树形数据结构,它可以用类似路径的简单访问任意节点的属性,property_tree特别适用用于应用程序的配置数据处理,它可以解析XML,JSON,INI和INFO这4种格式的文本数据。2、property_tree结构介绍 property_tree的核心类是basic_ptree,该类里面有两个重要内部定

2021-10-09 23:01:23 172

原创 BOOST库学习之容器库(上)

前言本次笔记记录如下知识点multi_index容器一、multi_index容器

2021-09-10 23:47:57 284

原创 BOOST库学习之正则表达式

前言正则表达式的简介正则表达式的匹配正则表达式的查找正则表达式的替换正则表达式的迭代正则表达式的分词一、正则表达式的简介1、正则表达式的匹配规则 正则表达式定义了一套复杂的语法规则,用于匹配有特定模式的字符串。在正则表达式中,大部分字符都匹配自己(普通字符),只有少量的字符用于定义特殊匹配模式的语法,如下所示:特别字符描述$匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 $。( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。

2021-09-05 23:20:06 680

原创 BOOST库学习之文件系统库

前言本次笔记记录如下知识点filesystem库的使用一、filesystem库的使用1、filesystem库的介绍 filesystem库是一个可移植的文件系统操作库,使用POSIX标准表示文件系统的路径,需要包含头文件:#include <boost/filesystem.hpp>using namespace boost::filesystem; filesystem库的核心类是path,它屏蔽了不同文件系统的差异,使用可移植的POSIX语法提供了通用的目录

2021-08-25 23:39:33 339

原创 BOOST库学习之内存池

前言本次笔记记录如下知识点pool库(内存池)object_pool库(内存池)singleton_pool库(内存池)一、pool库(内存池)1、pool库的原理 pool申请一大段内存(block),然后划分成多个chunk,chunks之间使用list串起来。如果当前block中的chunks使用完毕了,会新申请block,重复前面一样的过程。申请的多个blocks之间也是使用list串起来的。2、pool库的作用 pool库主要用于快速分配小块内存,使用时需要指定每次要分

2021-08-02 23:31:24 856

原创 BOOST库学习之智能指针

前言本次笔记记录如下知识点智能指针的原理unique_ptr的原理及作用shared_ptr的原理及作用weak_ptr的原理及作用一、智能指针的原理 智能指针的产生:在C++中程序员为了提高程序的效率,对堆内存管理会非常的频繁,为了不造成堆内存泄露,所以使用智能指针能更好的管理堆内存。 智能指针的原理:智能指针是一个类,这个类中会在构造函数中传入一个普通的指针,在析构中释放这个指针。智能指针的类是栈上的对象,智能指针指向堆上开辟的空间,函数结束时,栈上的函数会自动被释放,智能指针指向

2021-07-26 23:43:24 470

原创 C++对象模型之对象构造语义学

前言本次笔记记录如下知识点1、对象的构造顺序2、局部对象和全局对象的构造和析构3、局部静态对象,对象数组的构造和析构4、临时性对象的详细探讨对象的构造顺序 对象的构造是从父类到子类,从跟源到末端。如下例子所示:class A {public: A() { printf("A::A()执行了,this = %p\n", this); }; virtual ~A() {};};class B : public A{public: B() { printf

2021-07-11 00:00:50 155 2

原创 C++对象模型之函数语义学

前言本次笔记记录如下知识点成员函数与全局函数调用的区别虚函数与静态成员函数调用的区别一、成员函数与全局函数的调用区别 编译器内部是将成员函数的调用转换成了一种对全局函数的调用。 成员函数被编译器转换为全局函数后,编译器额外增加了一个叫做this的形参,是一个指针类型。该形参对于确定对象所属的某个成员变量在内存中的位置有用。二、虚函数与静态成员函数调用区别虚函数的调用方式 虚函数的调用分为两种:对象名调用和对象指针调用。对象名调用虚函数就像调用普通成员函数一样,因为这种调用不是

2021-06-23 23:26:28 149 2

原创 C++对象模型之数据语义学

前言本次笔记记录如下知识点数据成员绑定时机进程内存空间布局数据成员布局一、数据成员绑定时机成员函数函数体的解析时机 如果成员变量和全局变量重复了,那么成员函数在内部调用时,会优先调用成员变量,因为编译器对函数体内部的变量进行解析时,是从整个类定义完成之后进行的。如下示例string myvar;class Base{public: int myfunc() { return myvar; }private: int myvar;};int main()

2021-06-16 00:23:11 140 3

原创 C++对象模型之虚函数

C++之虚函数前言本次笔记记录如下知识点虚函数表指针位置分析继承关系下虚函数的调用虚函数表的分析虚函数表指针位置分析 一个类中如果有虚函数,针对这个类会产生一个虚函数表,生成这个类对象的时候,该对象就有一个指针用来指向这个虚函数表的起始位置。 虚函数表指针位于对象内存的起始位置。如下示例:#include <iostream>using namespace std;class A{public: int i; virtual void fun(

2021-06-11 00:11:13 235 2

原创 C++对象模型之对象基本结构

C++之对象模型你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本

2021-05-20 23:24:04 215

空空如也

空空如也

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

TA关注的人

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