首页
学习
活动
专区
工具
TVP
发布

Jungle笔记

专栏作者
75
文章
45755
阅读量
13
订阅数
STL:调用empty()而不是检查size()是否为0
另一种方式是,调用empty()函数。各类STL容器都提供了empty()函数,如果为空,则empty()返回true;否则返回false。
用户6557940
2023-03-05
9940
重构—时时勤拂拭,勿使惹尘埃
重构完成以后,好处是显而易见的。算子依赖分析的pass,逻辑简洁而清晰,并且易于修改和扩展。codegen.cpp文件的代码行数减少了900多行,发射算子的模块也根据硬件特性,搭建了清晰的类关系。顺便地,我也改善了一些变量和函数的命名,抽取了一些工具函数和公共函数。
用户6557940
2022-12-13
2160
程序员从幼稚到从成熟的过程是什么?
知乎上有个有意思的问题:“你认为程序员从幼稚到成熟的过程是什么?”关注数超过2500,浏览次数更是超过100w。看来大家都很关心自己熟没有。
用户6557940
2022-12-13
2410
int8 & int8,你栽过这样的跟头吗?
“0x80是负0,其实就是0,因为二进制最高位是符号位,为1表示这个数字是负数。”
用户6557940
2022-07-24
8690
《STL源码剖析》应该怎样读?
作为C++开发者,我认为这本书是必读的(前提是必须知道STL容器的使用方法和常用的算法)。除了有感情地朗读以外,主要要了解以下知识点:
用户6557940
2022-07-24
7230
浅析C++类的内存布局
之前Jungle写过一篇文章《探究C++:虚函数表究竟怎么回事?》,主要通过测试代码来验证虚函数表的存在,进而说明C++的多态机制。但完成文章后仍旧觉得文章云里雾里,并不能很好地说明C++类的内存布局。于是在阅读完3遍《深度探索C++对象模型》之后,重新整理了相关知识点,完成此文。
用户6557940
2022-07-24
4410
克隆以后我就成了你——探究原型模式
清晰地记得中学生物课本上提到过的克隆羊“多利”,虽然多利寿命不长,但它的出现对“克隆(Clone)”技术意义重大。克隆,直观说就是从原有生物体上取体细胞,然后无性繁殖出有完全相同基因的个体或种群。而本文将要介绍的原型模式,将克隆技术应用到了软件设计层面。
用户6557940
2022-07-24
2440
每天都刷朋友圈,那你知道并查集吗?
微信大概是我们每天必须接触的一个APP之一,公交上、地铁上、工作休息时,刷刷朋友圈,看看好友当天经历了什么。相较于QQ,微信的一个特点之一就是:除非好友的好友也是你的好友,否则你在朋友圈里看不到好友的好友对好友朋友圈的点赞和评论。
用户6557940
2022-07-24
5120
经典的二分查找法
二分查找法是一种基础的算法,应用于在有序元素序列中查找目标值。二分查找法思路清晰,可以描述为以下几个步骤:
用户6557940
2022-07-24
2760
堆是如何解决TopK问题的?
堆排序也是常见的一种排序算法,在生产中有很广泛的应用,比如优先级队列,TopK问题,生产中的TP99指标等。最近碰到了几个TopK问题,是如何用堆来解决的呢?比如:
用户6557940
2022-07-24
5900
温故而知新:对排序算法的新认识
首次认识排序算法还是在大二的《数据结构》课程上听老师介绍的。那时候颇不理解,不仅不理解这些排序算法,更不理解为什么机械学院要开设《数据结构》这门课程。后来在大四以及此后的硕士项目过程中,我真有用到排序算法,不过当时图方便,而且数据量不大,我使用的冒泡排序(编码简单)。之后与排序算法结缘,是准备秋招。为了考试,为了项目,为了秋招,回顾这几次与排序算法的近距离接触,我并没有真正理解各类排序算法的原理。
用户6557940
2022-07-24
2140
别在C++代码里乱打日志了,这才是正确的打日志姿势!(二)
在上一篇文章别在C++代码里乱打日志了,这才是正确的打日志姿势!中,Jungle设计实现了C++日志系统,并将其用于之前已有的小程序中,测试结果也是OK的。那是否就说明这个Log系统没问题呢?
用户6557940
2022-07-24
3110
自己搞排序算法测试用例!
每次写完一个排序算法,比如冒泡排序、选择排序,总是要验证一下算法是否正确。如何验证呢?代码里创建一个数组arr[10],如下:
用户6557940
2022-07-24
1.1K0
由“有符号数”和“无符号数”引发的一个bug!
这周我和同事老诸继续上周的工作,完善项目代码的参数检查和内存释放。每修改完一个项目代码,我们会进行常规场景的简单自测。测试通过,基本说明修改的代码没有问题。测试通不过,review代码,相互检查,及时发现代码遗漏之处。其实测出bug并不可怕,查看log或者dmp文件,在git上对比改动点,很快就能够定位到问题。
用户6557940
2022-07-24
7240
我用备忘录模式设计了简易的版本控制系统
“Ctrl+Z”是什么操作?各位都用过,并且经常使用吧?撤销!撤销上一个操作返回上一个状态,甚至撤销好几个操作,返回到几个操作之前的状态。这个操作非常有用,一旦我们某一步操作失误,可以选择撤销操作来返回原来的无错状态。
用户6557940
2022-07-24
2640
区间型动态规划题目解析
动态规划适用于有重叠子问题和最优子结构性质的问题。给定一个问题,如果可以将其划分为子问题,并解出其子问题,再根据子问题的解推导/递推以得出原问题的解。LeetCode上关于动态规划的题目众多,除了前述文章的最小路径、股票买卖等问题,区间型动态规划也是一类经典题目。本节将分析LeetCode上两道区间型动态规划题目。
用户6557940
2022-07-24
2090
别含蓄,面向bug编程,提高命中率!
昨天我在公司查看某个项目上的代码,收获颇丰。这个项目我有段时间没关注了,gitk一看,同事们竟然已经有十多次新的commit了。我一个个查看每次修改。最终留意到同事对之前遗留的一个bug的解决方案。
用户6557940
2022-07-24
3790
借着学USB的风, 用Qt做了个设备管理器
借着学习USB的风,闲暇之余写了个小程序——枚举系统设备,用vs2013+Qt5.6.0来实现设备管理器。
用户6557940
2022-07-24
1.5K0
[LeetCode]动态规划求解博弈问题
博弈论是有趣又有用的知识,可以用来预测在特定的规则下,人们会做出怎样的行为,又会导致怎样的结果。利用博弈论来指导人们的行事法则甚至商业操作,比如著名的囚徒困境就被很好的利用在了商业竞争上。同样,LeetCode也利用博弈论出了几道有意思的题目。
用户6557940
2022-07-24
4850
[LeetCode]动态规划,一招团灭最小路径问题
动态规划是求解“最小路径”的常用方法之一,LeetCode上关于“最小路径”的题目如下:
用户6557940
2022-07-24
2490
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档