logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

设计模式(c++面向对象核心)

设计模式是解决常见软件设计问题的可复用方案模板,不是具体代码而是经过验证的设计思想。学习设计模式能提高代码质量、增强可维护性、提升团队沟通效率,避免重复造轮子。GoF提出的23种设计模式分为创建型、结构型和行为型三类,分别解决对象创建、类组合和对象交互问题。设计模式遵循七大面向对象原则(如单一职责、开闭原则等),这些原则是编写高质量代码的基础。C++通过虚函数、模板、智能指针等特性可高效实现各种设

文章图片
#c++#设计模式
C++设计模式:工厂模式

本文系统介绍了工厂方法模式,这是一种创建型设计模式,其核心思想是将对象创建与使用分离,让子类决定实例化哪个具体类。文章详细阐述了该模式的四个核心角色(抽象产品、具体产品、创建者、具体创建者),并通过C++日志系统示例展示了实现方式。重点对比了工厂方法与简单工厂模式的区别,强调工厂方法模式符合开闭原则,具有更好的扩展性。文章还列举了该模式的典型应用场景(框架设计、跨平台开发、游戏对象生成等),并提供

文章图片
#c++#设计模式
C++设计模式:观察者模式

文章摘要:观察者模式是一种行为型设计模式,用于建立对象间的一对多依赖关系,当被观察者状态变化时自动通知所有观察者。核心思想包括被观察者(Subject)维护观察者列表,观察者(Observer)实现更新接口。该模式广泛应用于GUI事件处理、MVC架构、发布订阅系统等场景,优势在于松耦合和动态扩展性。文章详细介绍了经典实现方法,并针对实际项目中的内存安全、性能优化等问题提出改进方案,如使用智能指针、

文章图片
#c++#设计模式#观察者模式
C++17结构化绑定

摘要:C++17引入的结构化绑定特性允许将聚合类型(结构体、数组、tuple等)的成员解包到独立变量中。通过auto[x,y]形式,可简洁地访问多个数据成员,支持引用和const修饰。该特性适用于结构体、标准库容器和数组,特别适合在循环中处理键值对。需C++17及以上编译器支持,能显著提升代码可读性和简洁性,减少解包错误,是现代C++处理多返回值和数据结构的实用工具。

文章图片
#c++#算法#开发语言
C++17 折叠表达式

C++17折叠表达式是处理可变参数模板的重要特性,它通过四种语法形式简化参数包操作。文章详细介绍了其语法结构、应用场景和优势:1. 基本语法包括一元/二元左/右折叠;2. 典型应用包括数值计算、逻辑判断、容器操作等;3. 实际项目中的应用涵盖日志输出、条件检查、事件系统等场景。折叠表达式相比递归模板更简洁高效,能提升代码可读性和类型安全性,是现代C++编程的重要工具。

文章图片
#c++#java#算法
C++依赖接口编程思想

摘要:C++中的依赖接口编程(DIP)是SOLID原则之一,强调高层和低层模块都应依赖抽象而非具体实现。通过定义抽象基类(如IDataCommunicator)和具体实现类(如SerialCommunicator、TcpCommunicator),实现模块解耦。高层模块(如DeviceManager)通过接口操作,不关心底层细节,提高代码可扩展性、可测试性和维护性。该模式特别适用于工控和医疗上位机

文章图片
#c++#开发语言
如何高效利用大语言模型学习编程

摘要:本文系统性地介绍了如何高效利用大语言模型(LLM)学习C++编程,重点阐述了将LLM作为"智能学习伙伴"的五大策略:1)明确LLM作为解释者、协作者、评审者和提问者的四位一体角色;2)采用主动探究、场景驱动、代码评审等六大核心学习方法;3)培养批判性思维验证模型输出;4)提供结构化提问模板;5)构建学习闭环。特别针对设计模式学习,提出了五阶段递进式提问法,从基础概念到高级

文章图片
#语言模型#学习
作为资深c++软件工程师应该掌握的知识——实时更新

静态多态是一种在编译期间就能确定具体行为的多态形式。它不依赖于继承和虚函数表(vtable),而是利用C++的模板(Templates)机制来实现。编写可以适用于多种类型的通用代码,并在编译时为每种具体类型生成最优的、特定的代码。这是最根本、最直接的原因。动态多态的代价:依赖虚函数表(vtable)进行间接调用。从对象中读取vptr。通过vptr找到vtable。在vtable中查找对应函数的地址

文章图片
#c++#开发语言
作为资深c++软件工程师应该掌握的知识概述

摘要:C++仪器研发工程师需掌握现代C++核心特性(智能指针、移动语义、模板元编程等)、系统级编程(硬件接口、实时优化)、常用框架(Boost/Qt/Eigen)及行业协议(SCPI/IVI)。关键能力包括模块化设计、状态机实现、并发架构和工程化实践(CI/CD/测试)。需结合仪器特性(实时性/硬件交互)进行性能优化,并具备跨领域协作能力。核心公式:C++专家+硬件知识+架构思维+行业标准=资深仪

文章图片
#c++#开发语言
c++: std::tuple、 std::pair 、std::tie 详解及其应用场景

C++标准库提供了std::pair、std::tuple和std::tie三个工具来处理多值组合和解包。std::pair用于固定两个元素的组合,常用作键值对;std::tuple可组合任意数量不同类型元素,通过std::get访问;std::tie用于解包元组到变量。C++17引入结构化绑定提供更简洁的解包方式。这些工具适用于多值返回、复合键、参数打包等场景,是C++处理多值数据的重要工具链,

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