C++并发编程 _ 基于锁的数据结构

C++并发编程 _ 基于锁的数据结构

bingliaolong C++ 4年前 30 0

意义 设计并发数据结构,意味着多个线程可以并发的访问这个数据结构,线程可对这个数据结构做相同或不同的操作,并且每一个线程都能在自己的自治域中看到该数据结构。且在多线程环境下,无数据丢失和损毁,所有的数据需要维持原样,且无条件竞争。这样的数据结构,称之为“线程安全”的数据结构。 本...

C++17_第三篇

C++17_第三篇

bingliaolong C++ 2年前 16 0

结构化绑定 结构化绑定允许我们解构和绑定返回的元组、数组或结构体中的值,使得代码更加简洁和可读 嵌套命名空间 C++17 允许使用嵌套命名空间声明的简写方式,减少冗长的代码 std::filesystem 跨平台文件系统操作 std::variant std::variant 是...

C++_关于函数调用过程

C++_关于函数调用过程

bingliaolong C++ 10个月前 31 0

概述 C++中的函数调用,本质上就是通过函数地址定位到进程地址空间的代码区中对应的指令序列,然后跳转执行 编译阶段 编译时 - 生成符号和调用指令 函数声明与符号生成‌ 编译器看到函数 func 的声明(或定义)时,会将其名称作为一个‌符号(Symbol)‌ 记录在目标文件(.o...

C++并发编程 _ 同步并发(Future)

C++并发编程 _ 同步并发(Future) 2

bingliaolong C++ 6年前 38 0

一次性事件 C++标准库模型将这种一次性事件称为期望future 当一个线程需要等待一个特定的一次性事件时,在某种程度上来说它需要知道这个事件在未来的表现形式。之后,这个线程会周期性的等待或检查,事件是否出发 在检查期间也会执行其他任务,直到对应的任务触发,而后等待期望的状态会变...

Spdlog记述:一

Spdlog记述:一

bingliaolong C++ 3年前 29 0

使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...

C++_指针引用

C++_指针引用

bingliaolong C++ 1年前 31 0

指针 概述 通常所说的“指针”就是指 指针类型的变量,它保存了 内存中另一个变量的地址 通过这个指针保存的地址,我们可以 间接访问 指针指向的内存位置的数据 这个过程称为 解引用(dereferencing) 示例 *ptr 表示 通过指针 ptr 访问其保存的地址所指向的数据 ...

C++_decltype推导

C++_decltype推导

bingliaolong C++ 3周前 6 0

概述 decltype 从 C++11 引入,用来在编译期获取一个实体或表达式的类型 它与 auto 最大的区别是: auto 通常会进行类型退化,而 decltype 会精确保留 const、引用、数组以及表达式的值类别 规则一:未加括号的名字或成员访问 如果操作数是: 未加括...

C++标准库 _string

C++标准库 _string

bingliaolong C++ 6年前 16 0

关于 #include <string> //C++ #include <string.h> //C using namespaces std; 声明 string str; 调用string的默认构造函数,str被初始化为空串 构造 string s(s...

Soui七

Soui七 2

bingliaolong Soui 4年前 18 0

导出SOUI对象到Lua 为了在SOUI中使用lua,需要使用lua内核实现一个SOUI::IScriptModuler接口。 导出SOUI对象通常应该在IScriptModule的实现类的构造中执行 在lua中使用 事件分发处理 在MFC中,一个类要处理消息,这个类通常派生自C...

扫一扫二维码分享