
Spdlog记述:一
使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...
使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...
指针 概述 通常所说的“指针”就是指 指针类型的变量,它保存了 内存中另一个变量的地址 通过这个指针保存的地址,我们可以 间接访问 指针指向的内存位置的数据 这个过程称为 解引用(dereferencing) 示例 *ptr 表示 通过指针 ptr 访问其保存的地址所指向的数据 ...
关于 #include <string> //C++ #include <string.h> //C using namespaces std; 声明 string str; 调用string的默认构造函数,str被初始化为空串 构造 string s(s...
导出SOUI对象到Lua 为了在SOUI中使用lua,需要使用lua内核实现一个SOUI::IScriptModuler接口。 导出SOUI对象通常应该在IScriptModule的实现类的构造中执行 在lua中使用 事件分发处理 在MFC中,一个类要处理消息,这个类通常派生自C...
线程池 创建线程池方法一 调用async_factory_impl::create创建线程池 但是这个函数实际作用是用于创建一个记录器 由于需要一个线程池对象参数,所以在创建记录器之前做了个检查,如果还不存在线程池,就先创建线程池,再构造记录器 这里使用递归锁的原因可能是为了使代...
语言特性 指定初始化 按名称初始化结构体成员,提高可读性 [[likely]]和[[unlikely]] 提示编译器分支预测优化 标准库新增组件 std::atomic_ref(原子引用) 概述 C++20 引入的模板类,允许对 非原子类型 的对象进行原子操作 它的核心作用是为现...
空类大小 空类对象在内存中是有起始地址的,也就是说最少能存一个字节。所以一个空类的大小是1。 this指针调整 如果派生类继承自多个基类,那么派生类对象的开始地址和第一个基类子对象的开始地址是相同的。 调用派生类的成员函数的时候,会根据这个函数属于哪个基类,对this指针进行调整...
long long bool 布尔类型 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整型 16位 int 整型 32位 long 长整型 32位 long ...
模板 模板是一组函数或类的参数实现。 编译器能够在需要使用函数或类模板时,用模板生成一个具体的函数或者类的定义。 也可以定义参数化类型的模板,因此模板并不是可执行代码,而是用于生成代码的蓝图或配方 因此一个从来没有被使用过的模板,它会被编译器忽略,不会生成可执行代码。 也就是说,...
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 示例2 范围库(Ranges) 概述 提供声明式数据操作,支持惰性求值和链式调用 示例 过滤偶数并平方 协程(Corouti...
搜索当前标签