摘要: 相信大家在日常编程中遇到过不少奇葩问题,第一反应就是不可能,怎么可能会出现这个问题呢?于是抓耳挠腮,带着充满疑惑的问题,四处寻找答案。其实遇到问题并不可怕,可怕的是我们缺少解决问题的信心,正所谓只要思想不滑坡,办法总比困难多。解决问题才是打工人的价值所在,也是个人价值展现的机会。 好了,话不多说,回 阅读全文
posted @ 2023-09-20 18:51 ywx-super 阅读(15) 评论(1) 推荐(1) 编辑
摘要: 最近对我司地图引擎进行性能调优整改,本次调优主要解决 CPU性能 和 内存 两方面问题,本文主要介绍此次优化过程和方法进行总结。 调优思路整体如下: 首先确认调优目标,具体指标参数看项目要求; 其次查找性能瓶颈,找出哪里占用CPU过高,哪里内存占用过多; 最后寻找解决方案,实施调优手段。 整个过程其 阅读全文
posted @ 2023-09-20 10:22 ywx-super 阅读(74) 评论(0) 推荐(1) 编辑
摘要: 最近手撸了一个超轻量级的日志系统,以适应项目需求。纯 C 语言编写,实现代码总共才500多行,关键功能还齐全,对于嵌入式开发的猿猿们,不用寻找其它庞大且功能冗余的开源日志系统,简直就是福音。话不多说,首先看看功能和优缺点,如果达不到各位猿猿们的要求,可直接跳过。 一、日志功能 支持日志路径可配,不存 阅读全文
posted @ 2023-09-11 15:19 ywx-super 阅读(136) 评论(0) 推荐(1) 编辑
摘要: 最近难得有空,整理了一下以前项目中用到的一些常见算法,从原理入手,深入浅出讲解,并给出每个算法的实现,对开拓思维还是很有帮助的,同大家一起分享,有不对之处欢迎一起讨论。 快速排序 快速幂算法 斐波那契数列 异或算法 Base64编码/解码算法 CRC16算法 SHA256算法 1. 快速排序 快速排 阅读全文
posted @ 2023-09-07 17:56 ywx-super 阅读(21) 评论(0) 推荐(1) 编辑
摘要: constexpr 是 C++ 11 标准中新添加的关键字,有的同学经常会把 const 和 constexpr 搞混,不知道什么时候用 const,什么时候用 constexp,下面一次性讲清楚。 在C++ 11 之前,const 关键字在实际使用中经常会表现出两种不同的语义:“只读” 和 “常量 阅读全文
posted @ 2022-06-01 17:48 ywx-super 阅读(2896) 评论(0) 推荐(0) 编辑
摘要: 最近研究了下某某源码,发现一些 “别出心裁” 的用法,茶思饭后来总结梳理下。 看到一种获取数组的大小,方式有点特殊,代码类似下面这种形式: template<typename T, size_t N>inline size_t ArraySize(const T (&arr)[N]){ return 阅读全文
posted @ 2022-05-26 14:17 ywx-super 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 本文从原理入手,讲解C++11中的智能指针,每种智能指针的基本用法和注意事项,并给出每种智能指针的基本实现,便于读者透彻理解。 一、智能指针起因 在C++中,动态内存的管理是由程序员自己申请和释放的,用一对运算符完成:new和delete。 new:在动态内存中为对象分配一块空间并返回一个指向该对象 阅读全文
posted @ 2019-06-30 21:04 ywx-super 阅读(5135) 评论(0) 推荐(2) 编辑
摘要: 以前对this指针误解挺多的,在这里单独写一篇进行总结,有不对之处,欢迎一起讨论! 一、问题 1.一个类中的不同对象在调用自己的成员函数时,其实它们调用的是同一段函数代码,那么成员函数如何知道要访问哪个对象的数据成员呢? 没错,就是通过this指针。每个对象都拥有一个this指针,this指针记录对 阅读全文
posted @ 2019-06-07 17:35 ywx-super 阅读(8891) 评论(0) 推荐(4) 编辑
摘要: 在C++中,一个类有八个默认函数: 默认构造函数; 默认拷贝构造函数; 默认析构函数; 默认重载赋值运算符函数; 默认重载取址运算符函数; 默认重载取址运算符const函数; 默认移动构造函数(C++11); 默认重载移动赋值操作符函数(C++11)。 只是声明一个空类,不做任何事情的话,编译器会自 阅读全文
posted @ 2019-05-26 19:14 ywx-super 阅读(7988) 评论(0) 推荐(2) 编辑