类和对象
在 C++ 中,类和对象是面向对象编程(OOP)的核心概念。类是一个用户定义的数据类型,它封装了数据和对数据的操作。对象则是类的实例。 类的定义 定义一个类需要使用关键字classs,然后指定类的名称,并且类的猪蹄是包含在一对花括号中,主体包含类的成员变量和成员函数。12345678910111213141516171819202122#include <iostream>class Car {public: // 公有成员函数 void setBrand(std::string b) { brand = b; } void setModel(std::string m) { model = m; } void displayInfo() { std::cout << "Brand: " << brand << ",...
C++ 函数
函数基础一个C++函数由以下部分组成: 返回类型:函数返回值的类型,可以是 int、void、double 等。 函数名:标识函数的名字,用于调用。 参数列表:括号中的参数,用于传递数据。 函数体:大括号 {} 包裹的代码块,是函数的具体实现。 语法:1234返回类型 函数名(参数列表) { // 函数体 return 返回值; // 如果返回类型是 void,则省略}示例:123int add(int a, int b) { return a + b;} 函数声明函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。 函数参数如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。当调用函数时,有三种向函数传递参数的方式: 传值调用:将实际参数的值复制给形式参数,即复制一份参数的值。在这种情况下,修改函数内的形式参数对实际参数没有影响。 1234int add(int a, int...
C++ 指针应用
指针基础 定义和使用指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明。例如: 12345int var = 20; // 实际变量的声明int *ip; // 指针变量的声明ip = &var; // 在指针变量中存储 var 的地址。&取地址。 空指针 1int *ptr = NULL; //ptr的值是 0,避免野指针,确保指针在使用前初始化。 指针的算数运算指针是一个用数值表示的地址。因此,可以对指针进行四种算术运算:++、--、+、-。 递增或递减:在C++中,指针是一个变量,它存储一个内存地址。递增(递减)一个指针意味着将指针指向下一个(上一个)内存位置,这通常是指向下一个(上一个)数组元素。递增(递减)一个指针会根据指针所指向的数据类型自动调整指针的值。例如,若为int型指针,指针 ptr 会向前(向后)移动 4...
Hexo文章保存为草稿
正常新建文章一般我们会使用hexo new 文章标题来新建文章,这样新建的文章会生成在 source/_posts 目录下,使用hexo d命令会将文章直接发布到博客上。当我们同时写几篇文章或者为后续做计划时,并不希望立即发布 新建文章草稿需要先保存文章,再进行修改时,我们可以使用hexo new draft 文章标题来新建文章,这样新建的文章会生成在 source/_drafts 目录下,使用hexo d命令会将文章保存为草稿,不会发布到博客上。 预览草稿当我们需要预览草稿时,可以使用hexo s命令来启动本地服务器,然后访问http://localhost:4000来预览草稿。 发布草稿当我们需要发布草稿时,可以使用hexo p 文章标题命令来发布草稿,这样新建的文章会生成在 source/_posts 目录下,使用hexo d命令会将文章发布到博客上。后续我们可以手动将source/_drafts目录下的文章移动到 source/_posts 目录下,使用hexo d命令将文章发布到博客上。 删除草稿当我们需要删除草稿时,可以使用hexo delete draft...
hexo博客图片加载不出来的解决方案
问题描述使用Markdown在写博客的时候,插入图片,在本地可以看到,但在网页上图片加载不出来,如下图所示。 解决方案 在博客根目录git bash输入命令:npm install hexo-asset-image --save 将_config.yml文件中的post_asset_folder: false改为true此时使用hexo new "文章名"命令创建文章时,会在source/_posts文件夹下创建一个与文章同名的文件夹,将图片放入该文件夹中,然后在文章中使用的方式引用图片,即可在网页上正常显示图片。
PID控制算法
一、什么是PID PID 是比例-积分-微分控制(Proportional-Integral-Derivative Control)的缩写,是一种经典的控制算法,广泛应用于工业自动化中。它基于反馈控制原理,通过调整控制器的输出,确保被控对象的输出达到期望值(目标值)。 常用术语: 被控对象:需要控制的对象。 目标值:期望被控对象达到的状态量。 当前值:被控对象当前时刻的状态量。 反馈值:被控对象当前时刻的状态量。 输出量:控制器输出量,即PID的计算结果 误差:目标值-反馈值(当前值) 稳态误差:系统稳定状态下仍存在的误差。 1.1. PID的核心PID控制由三个部分组成: 比例(P,Proportional) 根据当前误差大小进行控制,输出与误差成正比。 比例控制的作用是快速响应误差,但可能会导致稳态误差。 数学表达式:$Pout = Kp * e(t)$其中,$Kp$ 是比例增益,$e(t)$...
C++变量、常量
变量 数据类型 常量 变量在C++中,变量是用来存储数据的命名存储单元。 变量声明和定义 声明:告诉编译器变量的名称和类型,但不分配存储空间(通常用extern声明)。 定义:为变量分配存储空间并初始化12345// 声明extern int x;// 定义int x = 10; 变量的命名规则 必须以字母或下划线_开头。 只能包含字母、数字和下划线。 不能是C++的关键字(如int、class等)。 区分大小写(var和Var是不同的变量)。 变量的分类(1)按作用域分类 局部变量:定义在函数或块中,只能在其所在作用域内使用。 全局变量:定义在所有函数之外,作用域为整个程序。 静态变量:用static修饰,局部变量的作用域仍在函数内,但生命周期贯穿整个程序。 (2)按存储类型分类 自动变量(Automatic Variables):默认存储期,生命周期随作用域结束。 静态变量(Static Variables):用static修饰,生命周期贯穿程序。 外部变量(External...
hexo d部署报错spawn failed的解决方案
hexo d部署报错spawn failed的解决方案许多小伙伴第一次接触Hexo框架编写博客时,hexo d部署的时候报错导致无法推送到github,是一个非常常见的问题。下面是我的解决方案,希望对大家有帮助。 问题描述:出现错误:error:spawn failed… 解决方案(一)使用科学上网工具 解决方案(二) 删除博客根目录中的.deploy_git 文件 在博客根目录git bash输入 1git config --global core.autocrlf false 把git加入系统环境变量 重新执行 123hexo clean hexo g hexo d 解决方案(三) 在博客根目录git bash输入 12npm un hexo-deployer-gitnpm i hexojs/hexo-deployer-git 可能会有些慢,等待一些时间即可。 重新执行 123hexo clean hexo g hexo d