【Javascript】应用三:轮播管理实现
语法相关 枚举 接口 类型注解 联合类型 继承 async/await 功能 任务队列 定义,初始化 队列循环 从某个队列头取任务,再放到尾 任务标记 使用map 添加任务时,检测任务是否已添加 删除某个任务时,使用delete清标记 标记已执行 检查所有任务是否都已执行 重置当...
语法相关 枚举 接口 类型注解 联合类型 继承 async/await 功能 任务队列 定义,初始化 队列循环 从某个队列头取任务,再放到尾 任务标记 使用map 添加任务时,检测任务是否已添加 删除某个任务时,使用delete清标记 标记已执行 检查所有任务是否都已执行 重置当...
线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑
概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...
WebBrowser 概述 WebBrowser 控件是微软提供的用于在 Windows 应用程序中嵌入浏览器功能的 ActiveX 控件 基于 Internet Explorer 的 Trident 渲染引擎 框架 核心接口: 主要通过 IWebBrowser2 COM 接口进...
寄存器 问题 寄存器在写汇编的时候是随便用的吗 寄存器的使用有严格的规则和约定,违反这些规则会导致程序崩溃或出现难以调试的 bug 32位-常见调用约定对比 特性 GCC cdecl MSVC __cdecl MSVC __stdcall MSVC/GCC __fastcall ...
nvm 管理node.js多个版本 nvm-windows github 命令 安装卸载 查看已安装node.js版本 查看官方可按照的版本 切换到指定版本 显示当前使用的版本 指定默认版本 新打开的终端会自动使用它 查看或设置 nvm 存储版本的目录路径 设置 Node.js ...
动态规划 概述 动态规划通过将复杂问题分解为相互重叠的子问题,并利用存储中间结果来避免重复计算,从而高效解决具有最优子结构特性的问题 其核心在于 “状态定义” 和 “状态转移” 实现步骤 定义状态 (State Definition) 这是动态规划最基础且关键的一步。你需要定义一...
async 概述 用于简化异步任务执行的高级抽象 它的核心目标是让你能方便地启动一个任务并在未来获取其结果,而无需直接管理线程的生命周期、同步等底层细节 std::async可以看作是 std::promise, std::packaged_task和 std::thread的高...
概述 首先,stack是一个容器适配器 理论上,任何提供了 push_back(), pop_back(), back()等操作的序列容器都可以作为 stack的底层容器 为什么默认是deque deque之所以成为默认选择,是因为它在以下几个方面取得了最佳平衡: 相对于vect...
概述 C++中的函数调用,本质上就是通过函数地址定位到进程地址空间的代码区中对应的指令序列,然后跳转执行 编译阶段 编译时 - 生成符号和调用指令 函数声明与符号生成 编译器看到函数 func 的声明(或定义)时,会将其名称作为一个符号(Symbol) 记录在目标文件(.o...