![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 79
快给我吃窝窝头
这个作者很懒,什么都没留下…
展开
-
从goahead代码的bug看aarch64平台的移位操作
假设再32位arm平台的一个移位操作int bit = 1<<30;这是合法的。那么平台换成了64位arm,int bit = 1 << 34;合法吗,显然不合法,因为int的长度就是32 比特,不管再32位arm还是64位arm上。要移动34位显然超出了它的表示范围。我们知道在aarch64架构下,long是64位的,那么改成:long bit = 1 << 34 合法吗。并不。因为这里的1 其实是个int型,默认的嘛。长度仍然是32位!所以原创 2021-01-12 10:55:44 · 408 阅读 · 1 评论 -
GIT的各种回退操作
写代码的时候往往需要回退,比如我操我写了一堆什么烂玩意,再比如,这功能加上还不如不加,这个时候你就会迫切需要把戴拿回退到你糟蹋它之前的状态。git的回退操作包括好几种,一种情况,你刚刚修改完代码,还没有急不可耐的运行git add,这个时候意识到你写的很垃圾(反应迅速且有自省能力),需要回退到之前,你只需要运行git checkout-- filename就可以将文件filename回退。它其实是从仓库里面把filename文件check下来覆盖本地工作区同名文件了。另一种...原创 2020-06-27 09:50:51 · 1014 阅读 · 0 评论 -
C++的generate函数
generate函数用于为容器的各个元素赋值,其用法类似于for_each。只不过它的第三个参数必须是lambda函数或者函数,或者函数对象,即均有重载operator()()的类对象。例子:vector<int> sint;int i = 0;generate(sint.begin(), sint.end(), [&i](){i++;retu...原创 2020-02-03 19:33:09 · 3925 阅读 · 0 评论