【编程笔记】0
文件打开模式
文件打开模式的选项在每个编程语言里都有(因为其实基本都只是 wrap 了 C 的 IO 模块,所以大同小异)。
source: open-built-in-function-difference-between-modes-a-a-w-w-and-r?
remove trailing spaces
移除行尾后的空格,不然有时候会污染 git 的 diff。
在 VSCode 里把 "files.trimTrailingWhitespace": true
就好了。
source: Remove trailing spaces automatically or with a shortcut
正则表达式
因为这几天正则搞得比较多。主要是 ?
的 case 的问题之前不太清晰。还寻思着过段时间把上次挖坑的 regular expression engine 写掉的。
^
, start$
, end*
, {0, }+
, {1, }?
, {0, 1}.
, any character except newline(?:x)
, non-capturex(?=y)
, match x only if suffix with yx(?=y)
, match x only if not suffix with yx|y
, or{}
, limit times\d
, [0-9]\D
, [^0-9]\s
, space\S
, non space\w
, [A-Za-z0-9_]\W
, [^A-Za-z0-9_]
source: 正则表达式 - MDN
带宽(bandwidth)
1Mbps = 1M bit per second = 1024 bit per second = 128 kb/s
二项式定理(binomial theorem)
$$
(x + y)^{n} = \sum_{k=0}^{n} {n \choose k} x^{n-k} y^{k}
$$
操作系统时间线
0x3f3f3f3f
1 | const int INF = 0x3f3f3f3f; |
在数据范围不超过 $10^{9}$ 的情况下,可以作为无穷大使用,有两个好处:
- INF + INF 仍然是正数
- 可以在 memset 中使用
1
memset(a, 0x3f, sizeof(a))