move使用指南
std::move使用指南 使用move在不实现它两个配套函数,编译器合成,逐个调用move,如果底层类型没有move,那其实还是copy。这种在有指针的时候要尤其注意,指针指向的内存到底在哪里,在这次move之后还有意义吗。 配套move构造函数和拷贝构造和拷贝assign的操作是一样的时候。move我认为是没有意义。 不如看看rust的转移...
std::move使用指南 使用move在不实现它两个配套函数,编译器合成,逐个调用move,如果底层类型没有move,那其实还是copy。这种在有指针的时候要尤其注意,指针指向的内存到底在哪里,在这次move之后还有意义吗。 配套move构造函数和拷贝构造和拷贝assign的操作是一样的时候。move我认为是没有意义。 不如看看rust的转移...
Bug修复指南 记录一下第一次正式修复bug干的蠢事。 定位 首先,要习惯需要debug的模块是你所不熟悉的。个人能力最重要的一点就是解决问题的能力。 其次,我觉得这次比较缺失的环节就是通过堆栈分析,leader直接告诉我成因了。通读一遍之后问题其实就基本知道原因。但他不告诉我,这个代码有1w行,我去找的话多半好几天。。。 其实还是按照堆栈一步步看哪里除了问题,然后一路回溯过去吧。...
CS106L 第一个完成的courses,主要是讲了些c++的特性。帮助我理解了一点点move语意。然后配合c++ daily理解了lambda匿名函数。 课程很简单,lab做了一个构造算法,一个数据结构题。 其中wifiracer很有意思,后面其实可以看一下他请求网络的代码。里面做了部分页面的缓存,思路还挺不错的。 实际实现的时候拿一个vector存了所有的path,然后拿heap...
Google Code Style命名规则 为了统一随后的风格,在Google Code Style上对自己的代码书写风格做一个统一的约定。 文件名 全部小写,单词之间用下划线隔开。 // 形如 fake_server.cpp 类名 首字母大写,不用下划线。 class SegTree{ }; using ItemMap = unordered_map<int,It...
size_t和跨平台问题 需要注意的是size_t在不同平台下的具体数据类型可能是不一样的,如果要log输出,具体的控制符可能需要使用%zu,z可以控制具体的长度。 实际场景下可以记住一个参考的标准,int小于等于数据线的宽度,size_t大于等于地址线宽度。 size_t存在的最大原因可能是因为:地址线宽度历史中经常都是大于数据线宽度的。 有些机器下int和int64_t的定义都不...
Details std::string从const char*转过来的时候,如果存在’\0’,会被截断。good taste的做法是 std::string s1 = "ab\0\0cd"; // s1 contains "ab" std::string s2{"ab\0\0cd", 6}; // s2 contains "ab\0\0cd" std::string s3 =...
私有仓库的鉴权问题 docker login -u your_email -p your_cli_secret 仓库地址 关于Arch的docker使用 开始docker.service sudo systemctl start docker sudo systemctl enable docker 然后就直接拉取镜像就好 Docker Operations 将当前用户...
SSH debug 今天clone公司repo的时候发现有ssh key已经添加了也会报错。permission deny,当时觉得不应该,觉得是pubkey复制错了。遂在另一台archlinux的主机上也尝试了一下,依然报错。 感觉不是key错误的问题,遂开始debug。ssh链接的debug倒也简单,直接ssh -vvvv git@git.bitbucket.com就可以看到链接的具...
单源最短路 若一张图的边数远小于其点数的平方,则这是一张稀疏图 若一张图的边数接近其点数的平方,则这是一张稠密图 单源最短路的图有几个解法,具体需要根据建图之后的复杂度做具体的判断 加边操作 实际就是数组模拟的头插拉链法 int h[N],e[N],ne[N],w[N],idx; void add(int a,int b,int c) { // w[i],当前b到a的距...
3Blue1Brown的视频—线性代数的本质。数学需要的不是天赋,而是一定的自由想象。 What is a vector 向量是空间中的箭头(可以分解成沿坐标轴的部分) 向量的加减法(首尾相连) 线性组合 矩阵与线性变换 矩阵乘法与线性复合变换 行列式 逆矩阵 点积与对偶性 叉积 特征向量与特征值 抽象向量空间 克莱姆法则和几何解释