我目前正在写一个移动平均班.
目标是在创建类Running_Average的新对象时能够将缓冲区大小指定为构造函数的一部分.
#include <iostream>
#include "Complex.h"
#include <cmath>
#include<stdio.h>
#include<stdlib.h>
#include <windows.h>
using namespace std;
class Running_Average
{
public:
double sum = 0;
double average = 0;
int i;
double Average(void); // Member functions declaration
void AddSample(double);
Running_Average(int);
};
Running_Average::Running_Average(int size) {
int buffersize = size;
double buffer[buffersize] = { 0 };
}
void Running_Average::AddSample(double val) //Add new values to buffer
{
for (i = 9; i>0; i--)
{
buffer[i] = buffer[i-1];
}
buffer[0] = val;
}
double Running_Average::Average(void) //Calculate …Run Code Online (Sandbox Code Playgroud) 我试图理解 git log 命令的输出。通常,我会看到 HEAD 指向特定分支,但我对 HEAD 似乎指向本地分支和远程分支(HEAD -> 分支、起源/分支)时的含义感到困惑。
我尝试在网上寻找答案,但我什至不确定如何写问题,而且显示的结果并不相关。
git log
commit 3b64cc50d6fe262d007853774689e8ad58e0f2ae (HEAD -> internal-env-board-david-fix, origin/internal-env-board-david-fix)
Author: user <user_email>
Date: Some_Date
Added build flag to platform.ini file: -D UAVCAN_CPP_VERSION=UAVCAN_CPP11
Run Code Online (Sandbox Code Playgroud)
当我git log如上所示运行时,我不知道这(HEAD -> internal-env-board-david-fix, origin/internal-env-board-david-fix)意味着什么。通常 head 只指向单个分支,而这里由于某种原因它似乎指向本地分支和远程分支。知道为什么吗?
所以我在我的分支internal_env_board2 上,我试图切换到分支battery_board。但是,当我尝试这样做时,出现错误:
$ git checkout battery_board
error: Your local changes to the following files would be overwritten by checkout:
internal_env_board/internal_env_board2/internal_env_board_with_LCD_BOM.xlsx
Please commit your changes or stash them before you switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)
我很生气,因为我知道我没有修改这个 .xlsx 文件。我所做的唯一一件事就是打开 excel 文件,查看其内容,然后再次关闭它。出于某种原因,git 认为此文件中有更改。我尝试使用 git diff 来查找工作树副本和最近提交的副本之间的差异,并得到以下结果:
$ git diff HEAD internal_env_board_with_LCD_BOM.xlsx
diff --git a/internal_env_board/internal_env_board2/internal_env_board_with_LCD_BOM.xlsx b/internal_env_board/internal_env_board2/internal_env_board_with_LCD_BOM.xlsx
index 0fb3369..10c945e 100644
Binary files a/internal_env_board/internal_env_board2/internal_env_board_with_LCD_BOM.xlsx and b/internal_env_board/internal_env_board2/internal_env_board_with_LCD_BOM.xlsx differ
Run Code Online (Sandbox Code Playgroud)
我在理解这个 diff 命令的输出时遇到了很多麻烦。它只是告诉我它们不同,但不是如何。
所以我想我的两个问题是:
1. 为什么git只因为打开了文件就认为我修改了文件?
2. 如何读取 命令的输出git diff HEAD ?
git ×2
buffer ×1
c++ ×1
command-line ×1
constructor ×1
git-checkout ×1
git-diff ×1
variables ×1