logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 开发工具(3)

本文介绍了Linux下的gdb调试工具使用指南。主要内容包括:1)gdb的基本概念和作用,强调调试是发现而非解决问题的过程;2)debug版本编译方法,需使用-g选项生成包含调试信息的可执行文件;3)常用gdb命令如设置断点(b)、单步执行(n/s)、查看变量(p)、监控变量(display)等;4)进阶调试技巧,包括条件断点、变量监控(watch)、修改变量值(setvar)等;5)通过求和函数

文章图片
#linux#运维#服务器
C++ 数据结构之哈希表及其相关容器

本文主要探讨了哈希表及其相关容器的实现原理与应用。文章首先对比了unordered_set/set和unordered_map/map的底层实现差异:前者基于哈希表实现,提供O(1)的平均时间复杂度但无序;后者基于红黑树实现,保持有序但时间复杂度为O(logn)。接着详细解析了哈希表的核心概念,包括哈希函数设计(如除法散列法、乘法散列法)、哈希冲突处理机制(开放地址法和链地址法)以及负载因子控制等

文章图片
#数据结构#c++#散列表
C++ 智能指针

本文系统介绍了C++智能指针的设计原理与使用。首先阐述了智能指针的引入背景,通过异常场景下内存泄漏问题说明RAII(资源获取即初始化)机制的重要性。详细讲解了标准库中的四种智能指针:auto_ptr(已废弃)、unique_ptr(独占所有权)、shared_ptr(共享所有权)和weak_ptr(解决循环引用),重点分析了shared_ptr基于引用计数的实现原理及线程安全问题。文章还探讨了智能

文章图片
#c++#开发语言
C++ STL之map/set

本文介绍了C++关联式容器与序列式容器的区别,重点讲解了set和map系列的使用方法。set是基于红黑树实现的唯一键容器,支持快速查找、插入和删除操作,保持元素有序性。map是键值对容器,同样基于红黑树实现,支持通过键快速查找和修改值。文章详细说明了set和map的构造、迭代器使用、增删查等操作,比较了set/multiset和map/multimap的区别,并特别介绍了map的operator[

文章图片
#c++#开发语言
到底了