C++_ 模板学习一

C++_ 模板学习一

bingliaolong C++ 3周前 9 0

函数模板与实例化 模板是什么 普通函数只能处理声明好的类型 如果还要处理 double、std::string,不使用模板就需要重复编写 模板的作用是 描述一组具有相同结构、但类型不同的函数 这段代码本身不是一个普通函数,而是一个函数模板,也可以理解为编译器生成函数的“配方” 模...

C++_decltype推导

C++_decltype推导

bingliaolong C++ 3周前 6 0

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

C++_原子操作内存序

C++_原子操作内存序

bingliaolong C++ 1个月前 15 0

std::memory_order_relaxed 总结1 线程 A 使用 memory_order_relaxed 写入 x,不会与线程 B 对 x 的读取建立 happens-before 关系,因此无法保证线程 B 的读取一定能看到 A 写入的新值 本质 多核 CPU 并不...

Windbg:远程调试,dump捕获

Windbg:远程调试,dump捕获

bingliaolong Windows 2个月前 36 0

procdump 概述 Sysinternals 里面的一个命令行抓 dump 工具,核心定位是按条件触发的转储工具 它可以在崩溃、CPU 飙高、内存超标、卡死等各种条件下自动抓 dump,不用盯着手动抓 三种基本工作模式 Attach 到已运行的进程 直接给进程名或 PID 等...

Windows_进程地址空间相关

Windows_进程地址空间相关

bingliaolong Windows 5个月前 34 0

进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...

Linux_进程地址空间相关

Linux_进程地址空间相关 14

bingliaolong Linux 5个月前 19 0

进程地址空间 概述 示例代码 图示 内核空间 内核空间是什么 内核空间是进程虚拟地址空间的高地址部分,在 64 位 Linux 上位于 0xFFFF800000000000 以上,占 128TB 它和用户空间的根本区别不是"地址高低",而是页表属性: 内核空间...

C++_静态类型、动态类型

C++_静态类型、动态类型

bingliaolong C++ 5个月前 19 0

静态类型 概述 静态类型是一个表达式在编译期就确定的类型,它由声明决定,永远不会改变 示例 无论运行时 p 实际指向什么,p 的静态类型始终是 Animal*,这是编译器在词法分析阶段就锁死的 什么时候确定 编译期,词法/语义分析阶段 编译器看到变量声明时,立刻将类型信息记入符号...

WTL 总览

WTL 总览

bingliaolong Windows 5个月前 15 0

概述 ATL ATL 本来是为了写 COM 组件(ActiveX、OLE)而生的,顺带提供了最基础的窗口能力 WTL WTL 是微软的一个团队后来单独发布的头文件库,专门填充 ATL 在 UI 方向的空白 关系 wtl是工具箱,不是框架 ATL 概述 下面这些文件,WTL 依赖这...

C++_线程池相关记述

C++_线程池相关记述

bingliaolong C++ 6个月前 13 0

线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑

C++_关于Invoke

C++_关于Invoke

bingliaolong C++ 7个月前 22 0

概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...

扫一扫二维码分享