自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 随时记下编程学习感悟

编程遇到问题,感觉极难做下去时, 只要有时间,就应坚持。这个时候就是锻炼解决问题的关键时刻。如果每次遇到难题就放弃或者找人帮忙或者找答案,那么解决这类问题的能力永远没有提升。工作时,如果时间太紧或者跟自己的规划路线关系不大,那么可以快速找人解决。但有时间时,尤其是业余自己练习时,一定要坚持下去,亲自跨过的坎,下次基本还是能跨过。...

2021-06-02 18:36:01 57

原创 map, unordered_map, set, unordered_set

cplusplus.com说map的[]、at()、find()、insert()的时间复杂度都是O(logn),可能因为map是用二叉搜索树实现的(复杂度O(logn)~O(n),平均O(logn))(TODO:待确认是这个原因),而我容易误认为是类似数组[]的O(1)。还有unordered_map,其成员函数的复杂度各有高低。项目中,要不是严苛追求效率,可以尽可能借助STL,有利于降低代码复杂度,提高可维护性和可阅读性,降低出错率...

2021-05-29 19:24:50 293 1

原创 异常的使用

C++遇到异常不一定会终止程序,得看catch内容。如果是希望异常时有自己期望的return值,则不适合用异常机制。比如下面的代码,若要在数组中未找到目标值20时做相应处理,则不需要使用异常的try catch机制。 std::vector<int> myvector(10); try { myvector.at(20)=100; // vector::at throws an out-of-range } catch (const std::out_of_ra

2021-05-29 19:10:43 73

原创 整数的二进制表示和按位操作

整数的二进制表示和按位操作计算负整数的补码>><<&常见计算机的数值用补码表示,对于无符号整数和正整数无需多说,但是负整数的二进制表示即其按位操作容易引起疑惑。计算负整数的补码负整数的补码有多种计算方式,我喜欢的是下面的第一种,因为过程中不需要区分符号位和数值位。第三种有助于对补码的直观认识,只需要用原补码相同的正整数。第二种只是在最小值-2^31时数值最高位溢出到符号位,这时不管溢出位即可对应正整数的原码,取反+1该负整数的原码,数值位取反+1(符号位不变)按

2021-05-28 19:31:33 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除