logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

de风——【从零开始学C++】(五):内存管理

本文系统讲解了C/C++内存管理的核心知识。首先介绍了程序内存分布(栈、堆、数据段、代码段等),通过代码示例验证不同变量的存储位置。重点对比了C语言的malloc/free与C++的new/delete:前者仅分配内存,后者还能调用构造/析构函数。详细剖析了new/delete的实现原理,包括operator new/delete的底层调用关系。最后总结了二者的6大区别,建议在C++中优先使用ne

文章图片
#c++#开发语言
de风——【从零开始学C++】(六):模板初阶

本文介绍了C++模板的基础知识,包括函数模板和类模板的使用方法。函数模板通过示例展示了如何实现通用交换函数,避免了重复代码;类模板则以栈的实现为例,演示了如何创建支持多种数据类型的通用类。文章详细讲解了模板的实例化过程、匹配原则以及注意事项,并强调了类模板必须显式实例化的特点。通过模板,开发者可以编写与类型无关的通用代码,提高代码复用性。本文为后续学习STL标准模板库奠定了基础,适合C++初学者掌

文章图片
#开发语言#c++
de风——【从零开始学C++】(八):string的模拟实现

【摘要】本文详细讲解了C++中string类的模拟实现,重点剖析了深浅拷贝的核心区别及其内存管理机制。通过手写string类,读者将掌握:1)深拷贝构造与赋值重载的实现;2)常用接口如size()、operator[]、c_str()的设计;3)动态扩容策略(2倍增长);4)迭代器封装原理(char*指针);5)六大比较运算符的复用技巧。文章特别强调常见陷阱:忘记'\0'预留空间、insert数据

文章图片
#c++#开发语言
de风——【从零开始学C++】(九)—vector的基本使用

本文详细介绍了C++ STL中vector容器的核心用法,包括构造方式、迭代器使用、容量管理、增删查改操作以及迭代器失效问题。重点讲解了vector的扩容策略差异(VS 1.5倍/g++ 2倍)和迭代器失效的两种场景(扩容和erase操作),并提供了解决方案。文章还总结了vector的常用接口和面试高频考点,强调提前reserve优化性能和正确更新迭代器的重要性。最后预告了下篇将探讨vector的

文章图片
#c++#开发语言
de风——【从零开始学C++】(十一):list的基本使用和模拟实现

list 和 vector 的区别:数组 vs 链表,随机访问 vs 插入删除list 迭代器的封装:不是原生指针,重载运算符带头双向循环链表:头节点的妙用迭代器失效:list 只有 erase 会导致当前迭代器失效

文章图片
#c++#list#开发语言
de风——【从零开始学C++】(十二):stack和queue的基本使用和模拟实现

呦呦呦!我~是~你~们~的~小小风呀,你们好呀!今天我们来学习 STL 中两个非常重要的容器适配器 ——stack(栈)和queue(队列)。为什么叫 "容器适配器" 呢?这是因为 stack 和 queue 本身并不是真正的容器,它们是在其他容器(比如 deque)的基础上,封装了一层特定的接口。这就涉及到我们今天要讲的第一个重要概念 ——适配器模式。在正式学习 stack 和 queue 之前

文章图片
#c++#开发语言
de风——【从零开始学C++】(十三):优先级队列 priority_queue 全解析 & 仿函数入门

本文介绍了C++中的优先级队列(priority_queue)及其底层堆结构实现,并详细讲解了仿函数(Functor)的概念与应用。主要内容包括:1. priority_queue的基本使用,包括默认大堆、小堆创建和自定义类型比较;2. 堆的底层原理,核心的向上调整和向下调整算法;3. 手动实现支持仿函数的priority_queue;4. 仿函数的定义、优势及实际应用场景;5. 使用priori

文章图片
#开发语言#c++
de风——【从零开始学C++】(十四)继承:让代码复用不再难!

本文介绍了C++中继承的核心概念与使用方法。主要内容包括: 继承的基本概念:通过父子类关系实现代码复用,子类可扩展父类功能 三种继承方式:public继承最常用,protected/private继承较少使用 构造和析构顺序:父类先构造后析构,子类后构造先析构 函数重写:子类可覆盖父类方法,建议使用override关键字 同名成员访问:使用作用域限定符访问被隐藏的父类成员 多继承与虚继承:解决菱形

文章图片
#数据库#前端#c++
de风——【从零开始学C++】(四):类和对象(后序)

本文是C++类和对象进阶教程,重点讲解了7个核心知识点:1. 初始化列表:区分赋值与初始化,必须用于引用、const成员和无默认构造的成员;2. 类型转换:隐式转换原理及explicit禁止方法;3. static成员:共享特性、类外初始化和无this指针限制;4. 友元机制:突破封装访问私有成员的单向关系;5. 内部类:定义方式及默认友元特性;6. 匿名对象:临时使用的一次性对象;7. 编译器优

文章图片
#c++#算法#开发语言
de风——【从零开始学C++】(七):string类详解

本文介绍了C++中string类的核心用法,包括:1. 基础使用:头文件<string>和命名空间std;2. 常用接口:构造、容量操作、遍历访问和修改方法;3. 实用技巧:auto类型推导、范围for循环、getline读取带空格字符串;4. 底层差异:VS的短字符串优化和g++的写时拷贝实现。重点掌握operator[]、operator+=等常用操作,建议结合官方文档进行实践练习

文章图片
#c++#算法#开发语言
    共 12 条
  • 1
  • 2
  • 请选择