刷新
C++ 中的构造函数

博主头像 深入理解 C++ 构造函数的本质:从资源管理到性能优化。涵盖默认构造、拷贝构造、移动构造,以及 RAII、explicit、constexpr 等关键机制。 ...

C++ 中的 list

博主头像 深入理解 C++ 中的 std::list 双向链表容器,探讨其底层原理、独有优势(如头部操作、接合等)、迭代器特性,以及与 std::vector 的选择权衡。 ...

override

博主头像 override 学过Java的小伙伴们应该不陌生,这个关键字就类似Java中的注解@override 确保在子类中声明的重写函数与基类的虚函数有相同的签名,同时也明确表明将会重写基类的虚函数,这样就可以保证重写的虚函数的正确性,也提高了代码的可读性; override和final一样这个关键字要写 ...

从源码角度解析C++20新特性如何简化线程超时取消

博主头像 C++20中增加了很多重量级新特性,它不仅带来了ranges、concept和协程,也为多线程编程带来了jthread和stop_source这些强力辅助。利用这些新特性,我们可以更高效地编写并发程序。 今天要说的就是利用jthread和stop_source来简化线程超时控制的实现,最终我们可以实 ...

LeetCode 1:两数之和(Two Sum)

博主头像 一、题目描述 原题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 示例 1: 输入:nums = [2 ...

C++ 语言特性的变更可能让你的防御成为马奇诺防线

博主头像 马奇诺防线 马奇诺防线是法国在1930年代修建的一道大型防御工事系统。防线由复杂的地下工事网络组成,包括炮台、掩体、地下兵营、弹药库和指挥所等设施,有些地下工事深达数十米。 然而,在1940年的法国战役中,它并未发挥预期作用,德军绕过马奇诺防线,通过比利时和阿登森林发动突袭,迅速击败了法军,这使得马 ...

类成员变量的初始化

博主头像 C++11中在初始化时可以使用 = ,也可以使用 {} ,也可以使用 ={} ; 需要注意的是:类中的静态成员变量只有静态常量,并且类型是整型或者枚举类型,才能在类内初始化,其他都得在类外初始化。 #include <iostream> using namespace std; class Base ...

long long

博主头像 C++11中加入long long 的整型,C++11 标准要求 long long 整型可以在不同平台上有不同的长度,但至少8字节(64位)。long long 整型有两种∶long long 和 unsigned long long //long long 对应类型的数值可以使用LL或者ll后缀 ...

原始字面量

博主头像 C++ 中存在转义字符,例如"\n"或"\t"。当我们尝试打印转义字符时,它们不会显示在输出中。为了在输出屏幕上显示转义字符,我们使用了"R(带转义字符的字符串)"作为原始字符串字面量。在字符串前面使用 R 后,转义字符将显示在输出中。 定义方式: R "xxx(原始字符串)xxx" 其中()两边的 ...

使用vscode编译C++代码

博主头像 使用vscode编译C++代码 vscode 首先要说明vscode不是IDE,因此本身没有所谓的一键配置、一键编译/调试、大量可视化项目操作选项等功能,实际上是一个拥有丰富插件且可定制化极高的文本编辑器。当我们创建完C++文件后按照在IDE(VS2022等)思路下会下意识的使用快捷键一键编译运行, ...

K-D Tree 相关

博主头像 部分发表于洛谷。 简介: K-D Tree 是一种适用于 \(k\) 维空间信息处理的数据结构,一般是维护 \(n\) 个点的信息,建出平衡二叉树;在 \(k\) 比较小的 建树: 一般使用交替建树,递归的分为以下三个步骤: 交替选择一个维度切割(即 \(x, y, z, \cdots\) 依次切一 ...

C++自学之路1:Hello world

博主头像 C++ 语法基础 本文主要通过Hello world这样一个简单的c++程序来认识C++的基础语法框架 本文内容主要来自OI wiki #include <iostream> // 引用头文件 int main() // 定义 main 函数 { std::cout << "Hello, world ...

代码随想录Day25_回溯5_全排列

博主头像 非递减子序列 问题描述 给了一个数组,要求给出其所有长度>=2的非递减子序列。 思路 压入结果的条件是path.size()>=2,回溯过程结束的条件是移动到了边上startIndex>=num.size() 在树中,非递减序列,要求压入的元素必须比之前压入的大:if(path.empty()||n ...

代码随想录Day22_回溯.md

博主头像 回溯理论 什么是回溯 回溯,顾名思义,返回溯源,记录当前节点后返回前一节点继续的过程。本质上是一种罗列所有情况的穷举搜索。 递归 递归,函数间接或者直接调用自身,回到最初最简单的情况。目前的情况归根结底就是一棵树的情况。 回溯与递归 为什么说回溯常常伴随递归?递归是把一棵大二叉树返回到一个最基本的三 ...

C++(Qt)-显示离线瓦片图

博主头像 版权声明: 本文为原创内容,作者:[Yzi321]。 转载请注明出处: 原博主主页:https://www.cnblogs.com/Yzi321 本文链接:https://www.cnblogs.com/Yzi321/p/19269003 许可协议:CC BY 4.0 Qt版本:5.11.2 编译平 ...

洛谷 P5658 [CSP-S 2019] 括号树 题解

博主头像 值域线段树 + 离线的 \(O(n\log n)\) 做法。 题目大意 给定一棵树,每个节点有一个括号。对于每个节点 \(i\),定义 \(s_i\) 为从根节点到 \(i\) 的路径上所有括号按顺序组成的字符串。求每个 \(s_i\) 中互不相同的合法括号子串的个数 \(k_i\)。 思路 首先, ...

<123···10>