logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++设计模式

本文介绍了五种常见设计模式的C++实现:1. 单例模式:保证全局唯一实例,提供饿汉式(线程安全但启动即加载)和懒汉式(延迟加载需双重检查锁)两种实现。2. 简单工厂模式:通过静态方法根据参数创建不同产品,实现简单但违反开闭原则。3. 工厂方法模式:每个产品对应专属工厂,符合开闭原则但会导致类数量增加。4. 抽象工厂模式:创建产品族(相关联的多个产品等级),便于整套产品切换但扩展产品等级困难。5.

文章图片
#c++#设计模式#javascript
数据结构入门到精通

本文系统介绍了数据结构基础概念及顺序表的实现。首先定义数据结构为数据的组织方式,分为线性结构(如顺序表)和非线性结构。重点讲解顺序表这一物理地址连续的线性结构,详细实现了其核心操作:初始化、判空/满、头插/尾插、位置插入/删除、值删除、查找、翻转、合并等。通过C语言代码展示了顺序表的基本操作逻辑,包括元素移动的内存操作和边界条件处理。最后还演示了两个顺序表的数值相加和有序合并的特殊操作实现。全文通

文章图片
#数据结构
STL无序关联容器—unorded_set+unorded_map

map 按键排序unordered_map。(可能 2 1 3 或其他)因为没有顺序,无法范围查找。

文章图片
#c++#开发语言
容器适配器+仿函数

仿函数,本质上就是重载了operator()的类 / 结构体,它的对象可以像普通函数一样被调用,因此也叫 “函数对象”。它比普通函数更灵活,可以保存状态、适配 STL 算法和容器的自定义规则。// 1. 普通函数版比较// 2. 仿函数版比较(核心:重载operator())// 实现"大于"比较逻辑仿函数最常见的用途,就是为 STL 容器 / 算法提供自定义的比较规则让setmap从默认升序改成

文章图片
#c++#算法#开发语言
STL关联容器multimap+multiset

本文摘要: multiset和multimap是C++中允许存储重复元素/键的关联容器,底层实现均为红黑树。与set/map的主要区别在于允许重复元素/键。multiset插入操作总是成功且返回迭代器,删除时需注意erase(value)会删除所有重复值,而erase(iterator)仅删除单个元素。查找重复元素推荐使用equal_range()。multimap与map的最大区别是不支持ope

文章图片
#c++#算法#开发语言
lambda表达式讲解

C++11的Lambda表达式是一种匿名函数对象,允许在代码中直接定义临时函数。其核心语法包括捕获列表、参数列表、mutable修饰符、异常规范和返回类型,其中捕获列表和函数体是必需的。捕获列表分为值捕获和引用捕获,通过[=]、[&]等语法控制变量访问方式,需注意引用捕获可能导致悬垂引用。Lambda本质是编译器生成的闭包类,重载了operator()。特性包括自动返回值类型推导(单ret

文章图片
#c++#算法#开发语言
C++基础入门1

本文介绍了C++中的初始化、输入输出操作、const关键字和引用特性。C++支持多种初始化方式(如()和{}初始化),比C更灵活。在输入输出方面,C++使用iostream库(cin/cout)比C的stdio更安全高效。const在C++中创建真正的常量,支持指针常量(const在右侧)和常量指针(const在左侧)。引用作为变量的别名,必须初始化且更安全,常用于函数参数传递。相比指针,引用不存

文章图片
#c++#开发语言
C++基础入门 2

本文主要介绍了C++中的指针与引用区别、缺省函数和函数重载三个核心概念。指针和引用在定义语法、初始化要求、内存特性及可变性等方面存在显著差异:指针存储地址且可修改指向,而引用是变量别名且不可修改绑定。缺省函数允许为参数指定默认值,调用时可省略从右到左的连续参数。函数重载则支持同名函数通过参数个数、类型或顺序的差异进行区分,但需注意返回类型和默认参数的影响。这些特性共同增强了C++的灵活性和代码复用

文章图片
#c++#开发语言
C++仿函数以及STL内置仿函数

本文介绍了C++中的仿函数概念及其应用。仿函数本质是重载operator()的类对象,可像普通函数一样调用。相比函数指针,仿函数具有携带状态、性能优化、类型安全和泛型支持等优势。STL在<functional>中提供了多种内置仿函数,包括算术运算(如plus、minus)、关系运算(如greater、less)、逻辑运算(如logical_and)以及位运算(如bit_and)等。这些

文章图片
#c++#开发语言
C++移动语义和智能指针

本文摘要: C++11引入移动语义和智能指针两大特性,显著提升性能与内存安全性。移动语义通过区分左值/右值,实现资源转移而非拷贝,避免临时对象深拷贝的开销,核心包括移动构造函数、移动赋值运算符及std::move强制转换。智能指针(unique_ptr、shared_ptr、weak_ptr)基于RAII机制自动管理内存,解决原始指针的内存泄漏、悬空指针等问题。unique_ptr独占所有权,支持

文章图片
#c++#java#开发语言
    共 24 条
  • 1
  • 2
  • 3
  • 请选择