数据结构
Lin_QC
这个作者很懒,什么都没留下…
展开
-
C++ 智能指针学习
网上找了一篇很棒的文章 转载自:https://www.jianshu.com/p/bf8de014e5c2C#、Java、python和go等语言中都有垃圾自动回收机制,在对象失去引用的时候自动回收,而且基本上没有指针的概念,而C++语言不一样,C++充分信任程序员,让程序员自己去分配和管理堆内存,如果管理的不好,就会很容易的发生内存泄漏问题,而C++11增加了智能指针(Smart Pointer)。主要分为shared_ptr、unique_ptr和weak_ptr三种,使用时需要引用头文件&.转载 2020-07-27 19:03:36 · 210 阅读 · 0 评论 -
c++ map需要使用多个键值如何编写
最近完成项目遇到一个问题 map需要设计多个键值,也就是key-value的key希望是一个结构体,里面有好几个元素:网上查阅了资料(主要参考:https://blog.csdn.net/u010636181/article/details/100533726),解决方案如下:主要就是需要设置一下 < 比较符的定义,因为只有一个键值的时候是很好比较的,但使用结构体后,我们就需要考虑比...原创 2020-02-08 11:57:57 · 8993 阅读 · 0 评论 -
C++ multimap 迭代器 查找与删除 指定元素的 正确姿势
对于multimap,它是一个可以拥有重复key值的数据结构,当进行相应地查找时,需要使用迭代器来存放寻找到的key对应的所有value,同时可以进行相应的删除。在删除时,很容易出现一些错误 (之前写项目遇到了这方面的坑),现在来介绍删除的正确方式。当然 代码中也将 map的建立,遍历加入了进来下面直接上代码://// main.cpp//// Created by Q...原创 2019-11-27 11:25:27 · 7175 阅读 · 0 评论 -
消息队列传数据 部分数据位丢失解决办法
之前在使用消息队列传输数据时发生了数据位莫名丢失两个字节的情况。经过一番debug找到了问题的原因,字节对齐问题。我的消息队列信息结构体原本的格式如下:struct msg_data{ long msg_type; //类型字段取161 uint32_t sid; uint32_t total_len; //数据的总长度 uint32_t ...原创 2020-01-03 14:37:46 · 759 阅读 · 0 评论