2026年1月3日

C++ 拷贝函数的调用时机

摘要: 在C++中,形参作为实参的副本时是否调用拷贝构造函数,取决于形参的类型和传递方式。以下是详细分析: 1. 按值传递类类型对象:调用拷贝构造函数 当形参是类类型且按值传递时,会调用拷贝构造函数创建形参的副本: class MyClass { public: MyClass() { cout << "默 阅读全文

posted @ 2026-01-03 21:51 四季萌芽V 阅读(0) 评论(0) 推荐(0)

C++ 开闭原则

摘要: C++中的开闭原则(Open-Closed Principle, OCP)是面向对象设计的核心原则之一,其核心思想是:软件实体(类、模块、函数等)应对扩展开放,对修改关闭。这意味着当需求变化时,应通过新增代码(如新增类或方法)来扩展功能,而非直接修改现有代码,从而降低维护成本并提高系统稳定性。 代码 阅读全文

posted @ 2026-01-03 19:42 四季萌芽V 阅读(1) 评论(0) 推荐(0)

C++ std::enable_shared_from_this<T>的作用

摘要: std::enable_shared_from_this<T> 是 C++ 标准库中的一个模板类,用于解决一个特定问题:当一个对象本身已被 std::shared_ptr 管理时,如何在该对象的方法内部安全地获取指向自身的 std::shared_ptr。 核心作用 提供安全的 shared_fro 阅读全文

posted @ 2026-01-03 10:40 四季萌芽V 阅读(6) 评论(0) 推荐(0)

C++ 互斥锁、条件变量和信号量的作用、区别和使用场景

摘要: 本文介绍C++ 中互斥锁、条件变量和信号量的作用、区别和使用场景。 这三者都是用于多线程编程中同步和协调线程行为的工具,但它们的侧重点和用途各不相同。 1. 互斥锁 核心作用: 实现互斥,保护共享资源,确保同一时间只有一个线程可以访问该资源。 是什么? 互斥锁就像一个房间的钥匙。一次只有一个线程能拿 阅读全文

posted @ 2026-01-03 10:36 四季萌芽V 阅读(16) 评论(0) 推荐(0)

工厂模式

摘要: DataExchangeServiceProxy::Create 所体现的“工厂模式”是软件开发中一种经典的创建型设计模式,其核心目的是封装对象的创建过程,使客户端无需直接依赖具体类的构造函数,而是通过统一的“工厂接口”获取对象实例。这种模式能降低代码耦合度,提高扩展性(如新增产品类型时无需修改客户 阅读全文

posted @ 2026-01-03 10:33 四季萌芽V 阅读(1) 评论(0) 推荐(0)

C++ 通用引用&&的用法和误区

摘要: 通用引用(Universal Reference)笔记:从SDM代码看&&的核心用法 一、什么是通用引用? 通用引用是C++11引入的特性,本质是一种特殊的引用形式,满足以下3个条件时,&& 会被判定为通用引用: 必须是函数模板的参数(非普通函数、非类成员变量); 参数类型是模板参数(如 typen 阅读全文

posted @ 2026-01-03 09:39 四季萌芽V 阅读(13) 评论(0) 推荐(0)

右值引用的作用和误区

摘要: 右值引用的作用:在C++中,右值引用(Rvalue Reference,标记为 &&)的核心作用是支持移动语义(Move Semantics),但其设计目标和应用场景远不止于此。以下是右值引用的完整作用解析: 1. 核心作用:移动语义(Move Semantics) 解决深拷贝的性能问题:对于动态资 阅读全文

posted @ 2026-01-03 09:18 四季萌芽V 阅读(8) 评论(0) 推荐(0)

导航