C/C++
未读
C++的函数指针与函数对象
1. 函数指针 函数指针就是一个指向函数的指针变量,函数是是存放在代码段的,函数指针指向的就是函数在代码段中的入口地址。通过函数指针,我们可以间接地调用这个函数。 语法: 返回类型 (*指针名称)(参数类型1, 参数类型2, ...);
假设我们有一个普通函数: int add(int a, in
C/C++
未读
C++ 中的 RAII 思想
RAII 是 “Resource Acquisition Is Initialization” 的缩写,中文通常翻译为 资源获取即初始化”。这是 C++ 语言中的一种重要编程范式。 1. 核心思想# RAII的核心思想是将资源的生命周期与对象的生命周期绑定起来。具体来说: 获取资源:在对象的构造函数
人工智能
未读
Stable Diffusion推理概览
Stable Diffusion属于一类称为扩散模型(diffusion model)的深度学习模型,属于生成类模型。 目前有 SD1.x、SD2.x 以及 SDXL系列,支持 文生图、图生图以及图像重绘。 训练过程包括前向扩散和反向扩散, 推理时只使用反向扩散。 前向扩散(Forward Diff
C++ 的类型定义:using vs typedef
在 C++ 中,使用复杂类型(如 STL 容器和智能指针)时,类型别名可以简化代码。C++98 使用 typedef 来创建类型别名,而 C++11 引入了更现代的别名声明 (using)。 简单来说,在定义类型别名的时候:using 和 typedef的最主要区别是, using 可以定义 模板类
C/C++
未读
C++ {}初始化的优点
C++ 对象初始化是一个关键过程,确保在对象的生命周期开始时为其分配适当的初始值。但是 C++ 中的对象初始化语法有很多选择,例如可以使用括号,等号,花括号。不同的初始化语法提供了灵活性,使得程序员可以根据需要选择合适的初始化方式。通过正确理解和使用对象初始化,可以编写更安全和更高效的代码。 使用
人工智能
未读
各种卷积计算过程图示
卷积各种算法图示 [1] Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning (BibTeX) 📃 Convolution animations N.B.: Blue map
Git中几对易混淆的命令解析
Git😈是功能强大的版本控制工具,在git中有一些功能相似、容易混淆的命令,比如 rebase与merge、reset与revert、pull与fetch等。今天在这里来详细解析一下这几对容易混淆的命令,辨别两者之间的区别,明确各自的使用场景。 rebase与merge 在Git中,rebase和
个人博客网站建设工具
博客框架 202X年了,应该极少有人从0开始搭建网站了吧。 一个优秀的博客框架,可以帮助你快速、高效的搭建个人网站,让你事半功倍。 Halo Halo是一个基于Java的开源博客系统,它使用了Spring Boot、Freemarker、MySql、JPA、Lombok、Swagger2等技术栈。H
Linux shell 脚本的逻辑控制语句
内容 使用if-then语句 嵌套if语句 test命令 复合条件测试 使用双方括号和双括号 case命令 许多程序要求对shell脚本中的命令施加一些逻辑流程控制。而某些命令会根据条件判断执行相应的命令,这样的命令通常叫做结构化命令。从概念上理解,结构化命令是shell脚本的逻辑结构,不像顺序执行