长安一梦个人主页

浅析设计模式-23种设计模式剖析

    《Design Patterns: Elements of Reusable Object-Oriented Software》 ------ 尝试构建高效、可维护和可扩展的方式来构建软件系统。 #### 1.设计原则: - 单一职责原则(SRP):一

Administrator Administrator 发布于 2025-08-29

代码优化之noexcept

noexcept 是 C++11 引入的关键字,用于指定函数是否会抛出异常。它的主要作用是: 1. **性能优化**:编译器可能为 noexcept 函数生成更高效的代码(如省略异常处理逻辑)。 2. **移动语义**:标准库(如 std::vector)在扩容时,若元素类型的移动操作是 noexc

Administrator Administrator 发布于 2025-08-29

编译器多态CRTP

    CRTP (Curiously Recurring Template Pattern) 奇异递归模板模式- 编译期多态是一种C++模板编程技术,用于实现编译期多态(静态多态),与运行时多态(通过虚函数实现)形成对比。 #### 1、CRTP的核心思想是

Administrator Administrator 发布于 2025-08-29

智能指针

C++ 智能指针是管理动态分配内存的强大工具,旨在自动释放对象,有效防止内存泄漏,并简化资源管理。它们是标准库(<memory> 头文件)的一部分,核心思想是将内存所有权封装在对象中,利用析构函数自动释放内存。 1. std::unique_ptr (C++11) - 核心概念:独占所有权。同一时间

Administrator Administrator 发布于 2025-08-29

移动语义(Move Semantics)和完美转发(Perfect Forwarding)

&ensp;&ensp;&ensp;&ensp;移动语义(Move Semantics)和完美转发(Perfect Forwarding)是 C++11 引入的核心特性,旨在提升程序性能并解决泛型编程中的参数传递问题。 ### 移动语义 &ensp;&ensp;&ensp;&ensp;在了解移动意义

Administrator Administrator 发布于 2025-08-29

并发(Concurrency) 和 并行(Parallelism)

在 C++ 中,并发(Concurrency) 和 并行(Parallelism) 是提高程序性能(尤其是利用多核处理器)的核心概念 ### 1.并发: - 概念: 指系统**看起来**能同时处理多个任务。即使只有一个 CPU 核心,操作系统也可以**通过快速切换(时间片轮转)执行多个线程**,给用

Administrator Administrator 发布于 2025-08-29

Windows 上安装 Jekyll

在 Windows 上安装 Jekyll 需要一些额外的步骤,因为 Jekyll 原本是为 macOS/Linux 设计的。 也就是说,在Linux上安装同理: 1. 由于Jekyll 是用 Ruby 编写的,所以需要先安装 Ruby: - 下载 Ruby Installer:访问 [RubyIns

Administrator Administrator 发布于 2025-08-29

GitHub国内访问卡到崩溃?1招教你极速上车: 修改Hosts | 直连最优IP

1. 查询最新IP 获取GitHub IP地址‌:通过DNS查询工具(如https://www.ip138.com/)获取 github.com 和 github.global.ssl.fastly.net的IP地址 2. 编辑Hosts文件 # Windows路径 C:\Windows\Sys

Administrator Administrator 发布于 2025-08-29

Lambda 表达式和函数对象

在 C++ 中,Lambda 表达式和函数对象(Function Objects,也称为仿函数/Functors) 都是可调用对象(Callable Objects)的实现方式,用于定义可被调用的行为。 1.函数对象 通过重载 operator() 运算符的类实例,可以像函数一样被调用。 // 定

Administrator Administrator 发布于 2025-08-01

C++虚函数实现原理

1.虚函数表 每个包含虚函数的类(或者从包含虚函数的类派生而来的类)都会有一个对应的虚函数表。该类的所有对象共享这个虚函数表。虚函数表中存储了该类虚函数的地址。 class Base { public: virtual void func1() { std::cout << "Base::f

Administrator Administrator 发布于 2025-05-09
上一页 下一页