小编And*_*der的帖子

可变长度数组:如何在C++中创建可变大小的缓冲区

我目前正在写一个移动平均班.

目标是在创建类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)

c++ variables buffer constructor

5
推荐指数
1
解决办法
1597
查看次数

git 提交日志中的“HEAD -&gt;branch, origin/branch”是什么意思?

我试图理解 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 只指向单个分支,而这里由于某种原因它似乎指向本地分支和远程分支。知道为什么吗?

git command-line

5
推荐指数
1
解决办法
2294
查看次数

Git 说一个文件被修改了,即使它不是

所以我在我的分支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 git-diff git-checkout

2
推荐指数
1
解决办法
1370
查看次数