【发布时间】:2021-04-10 16:27:41
【问题描述】:
我做了一个python代码如下,我只想从EEG到baseline_before读取offset_time[i]-33:offset_time[i]-1信息。在 python 中,它可以工作。但是,我不知道如何在 c++ 中实现此代码。你知道如何在 C++ 中实现映射吗?我想做baseline_before[:][:]
Python 代码
offset_time[0] = 100;
offset_time[1] = 200;
for i in range(0, 2):
baseline_before = EEG[:,offset_time[i]-33:offset_time[i]-1]
C++ 代码
int offset_time[2];
offset_time[0] = 100;
offset_time[1] = 200;
for (int i = 0; i < 64; i++)
{
for (int j = 0; j < 2; j++) {
baseline_before[i][j] = filtered_EEG_data[i][offset_time[j]-32:offset_time[j]-1];
}
}
【问题讨论】:
-
没有
offset_time[0] -
你的数组索引在 C 中是错误的,它们应该是
offset_time[0]和offset_time[1]。 -
C 没有像 Python 那样的数组切片。
-
每次循环都会覆盖相同的变量
baseline_before。那有什么意义呢?循环完成后,它将只包含上次迭代的数据。 -
@TakuKobayashi -- 一般来说,不要使用 Python 作为编写 C++ 代码的模型。所有这一切都会发生,你会感到困惑,或者编写错误/低效的代码,或者编写对 C++ 程序员来说看起来很奇怪的代码。