标签: C++

19 篇文章

LeetCode hot100@栈
More content:力扣题记之栈 栈:stack<int> sk; 队列: queue<TreeNode*> q; 单端队列 deque<char> dq; 双端队列(更底层) 20. 有效的括号✅ 刷包浆的题 class Solution { public: bool isValid(string s) …
基于 Linux 的轻量级 HTTP 服务器
要点 1.服务器程序通常需要处理三类事件:I/O事件,信号及定时事件。有两种事件处理模式: Reactor模式:要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生(可读、可写),若有,则立即通知工作线程(逻辑单元),将socket可读可写事件放入请求队列,交给工作线程处理。 Proactor模式:将所有的I/O操作都交给主线程和内核来…
力扣题记之二叉树
More content:LeetCode hot100@二叉树 257. 二叉树的所有路径❌ 递归回溯 递归三步走,但要注意在二叉树的递归中单层逻辑一般要包括中左右三部分(顺序依前中后遍历而定) class Solution { public: void traversal(TreeNode *cur, vector<string> …
C++算法模板
C++ Array/Vector 二分 int search(vector<int>& nums, int target) {    int left = 0;    int right = nums.size() - 1; // 定义target在左闭右闭的区间里,[left, righ…
C++基础编程
1 C++初识 1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C++文件起个名称,然后点击添加即可。 1.1.3 编写代码 #inc…
C++核心编程
1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理 全局区:存放全局变量、静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值、局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期, 增加编…
C++提高编程
1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 1.2 函数模板 C++另一种编程思想称为泛型编程,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 1.2.1 函数模板语法 函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以…