1. 基本概念 回调函数(Callback Function)是C++编程中一种重要的机制,允许通过函数指针或对象引用间接调用函数。它在事件处理、异步编程、框架设计等领域广泛应用,能够提升代码的灵活性和解耦性。 回调函数本质上也是个函数,不过是用于”回调”的函数。所谓回调,可以理解为将一个函数的调用权交给另一个函数,并在适当的时刻由后者调用前者,而…
1. 锁机制概述 1.1 概念与作用 在程序使用多线程处理事务时,难免会遇到访问共享资源的情况,而为了共享资源能够被合理地分配与使用,就引入了锁机制来保证线程访问共享资源的互斥性与同步性,最终目的就是为了保证多线程不会因竞争共享资源而导致死锁等问题,合理地使用锁机制能保证程序的有效运行。 互斥性:在同一时刻,不能有多个线程访问同一共享资源,即让共享…
正则表达式与C++

1. 概述 1.1 正则表达式概述 正则表达式(Regular Expressions,简称 regex)是用于匹配文本模式的一种特殊字符序列,其可以用一系列字符来表示出不同文本的对应模式。正则表达式的应用范围十分广泛,包括验证文本格式、判断字符种类、解析文本信息、转换目标文本、遍历搜索文本、符号化文本等。 一般在文件搜索、浏览器搜索时都可以使用正…
C++ Lambda表达式
C++风格的强制类型转换
初入C++:(函数类)模板
初入C++:类的继承和派生
初入C++:类class及相关知识点
初入C++:运算符重载
初入C++:const关键字
1. Lambda表达式的简述 Lambda表达式是C++11引入的一种函数对象,其使用更为简洁,能更方便的嵌入需要函数的地方。 Lambda表达式也被称为匿名函数,其不需要特定的函数名称,甚至不用指定参数和返回类型。 合理使用Lambda表达式能有效提高代码的可读性,减少代码的冗余量,使代码更为简洁、高效、安全。 2. Lambda表达式的语法格…
一般常用的是C语言风格的强制类型转换(type) expression,这种转换虽然简便,但很是粗糙,无法区分各种细致的转换(比如父类与基类之间的转换,const和非const之间的转换等),并且可能会带来一些难以察觉的问题。 C++为此推出了四种强制类型转换(static_cast、const_cast、dynamic_cast、reinterp…
模板:是一系列函数/类的样板,对于实际只是类型不同。 1.函数模板 1.1概念和定义 格式为: template <“模板形参表声明”> ”函数声明“ ”模板形参声明“ ”模板形参声明“ 是由一个或多个”模板形参“组成的,用逗号隔开 ”模板形参“具有以下几种形式: typename ”参数名“ class ”参数名“ ”类型修饰“ ”参…
1.继承和派生相关概念 一个==新类==从==旧类==中得到已有的特性,如:数据成员、成员函数等,即称类的继承。 从==旧类==产生一个==新类==,即称为类的派生 这样的旧类被称为基类或父类,这样的新类被称为派生类或子类。 单继承:一个派生类从==一个基类==继承;多继承:一个派生类从==多个基类==继承。 派生类也可以派生出新的派生类。 从基类…
1.类和对象的概念 类:即class,代表着一类对象 对象:是类的实例,class里的每一个变量、每一个函数都是一个对象 class起到封装的作用,将不同的函数或变量封装在不同的类之下。 区别于结构体的封装 2.三种访问类型 内含三种访问类型,且格式为: class 类名 {//大括号内的被成为 类体 public: //公有的数据和函数 prot…
1.运算符重载概念 多态性是C++的一大性质,多态性同样体现在c++的数据运算之中。 运算符能将一个或多个数据进行计算,其是有运算过程被省略的,在某些情况下,原运算符能进行的运算不在能运算所需数据时,就需要我们自己去定义运算过程来运算对应数据,这就是运算符重载。 比如:“+”无法计算复数,就可以重载运算过程来计算复数。 可重载运算符: 分类 具体 …
1.const在指针中的应用 使用const修饰指针,有两种用法,达到两种作用: 让指针指向一个常量对象 让指针本身就成为常量 1.1指针指向一个常量对象 例程1: int num = 10; const int *p = # 此例子中,不代表num是一个常量,而是不能通过指针p来修改num的值 例程2: const int num…