C++ 性能优化笔记
积累 C++ 性能优化的操作和思路
C++ 笔记
杂记
Linux 环境 C++ 编程
Linux 环境高级编程
std::move 与 std::forward 以及左右值
https://www.bilibili.com/video/BV1ZViMBGECR/?spm_id_from=0.0.search.video_card.click&vd_source=11db1d1a077558e043cecb028334f12a左值引用 & 就是别名 值类别参考 lvalue: 左值,可取地址,如变量名。 prvalue: 纯右值,如 int(42) 临时量。 xvalue: 将亡值, 如表达式 std::move(obj)。 纯右值和将亡值都统称右值(rvalue),可以是不具名的临时变量,可以是即将离开作用域或被 move 的类型。左值和将亡值都属于泛左值。 Attention 值类别(value category)只看“表达式的静态属性”,跟对象本身的状态无关。变量本身没有值类别,只有表达式才有。 12int x = 42;decltype(auto) b = std::move(x); 当以后写 b 这个标识符时,它所在的表达式是左值(因为具名变量都是左值表达式),但它的声明类型仍然是 int&&。 s...
算法笔记
杂记
test2
测试测试
从输入 URL 到页面展示到底发生了什么?
解析 URL,准备发送 HTTP 请求。 检查本地缓存是否有对应资源,如果有则直接返回;没有则进入下一步网络请求。 DNS 查找域名对应的 IP 地址(按本地浏览器缓存->本地 Host 文件->路由器缓存-> DNS 服务器->根 DNS 服务器的顺序查询域名对应 IP,直到找到为止)。如果使用了 CDN, DNS 解析会通过 CNAME 返回离用户最近的 CDN 节点的 IP 地址,而非源站地址。 TCP 三次握手浏览器与服务器(IP)建立(TCP)建立连接。 HTTPS 协议还要进行 SSL 加密协议握手。 浏览器构建 HTTP 请求报文发送给服务器。 服务器处理请求并返回 HTTP 资源,其中包括状态码如404未找到、301重定向等。 浏览器解析响应并渲染页面。 TCP 四次挥手浏览器与服务器(IP)断开(TCP)连接。
介绍一下 TCP/IP 模型和 OSI 模型的区别
OSI 是理论上的国际标准,是七层协议体系结构,从上至下分别是应用层,表示层,会话层,运输层,网络层,数据链路层,物理层; TCP/IP 是实际上的工业标准,是更具实用性的四层体系结构,从上至下分别是应用层,运输层,网络层和网络接口层。 TCP/IP 模型的应用层对应 OSI 的应用层、表示层和会话层,将这3层合并后让应用程序自行管理数据格式会更高效。应用层负责应用进程间的交互来完成特定的网络应用,其协议定义的是应用进程间通信和交互的规则,其中的协议有很多,如 DNS, HTTPS 和 SMTP 等等。 TCP/IP 的运输层对应的 OSI 的运输层,负责向两台主机的进程间的通信提供通用的数据传输服务,主要使用 TCP 和 UDP 两种协议。 TCP 提供面向连接的可靠的数据传输服务;而 UDP 提供的是无连接的不可靠的数据传输服务。 TCP/IP 的网络层对应 OSI 的网络层,使用的是无连接的 IP 协议,根据 IP 地址为分组交换网上的不同主机提供通信服务。而 OSI 同时提供面向连接和无连接的通信服务。在对连接服务的支持上, TCP...
vs 使用笔记
记录常用 vscode 快捷键
