【发布时间】:2012-07-17 17:04:23
【问题描述】:
我正在尝试在 vector 中插入特征列表,然后根据标准函数(即公式)的结果添加特征。到目前为止的代码如下所示。
这里我想问的主要部分是:
-
您认为以此处制作的方式插入功能是否是个好主意?也就是说,作为struct的向量?或者,只是立即添加功能?我制作 struct 向量的原因是我想将整数值添加到向量中,但同时要为特征命名(即 F1、F2、...等)。
对于下面显示的
criterionFunction(),我正在尝试考虑例如features[1],如果它被选中(即;传递给函数),则其值为1,否则为0.好像boolean发生了什么事? :-) 你建议在这里做什么?
#include "stdafx.h"
#include <iostream>
#include <vector>
int main(){
std::struct Features{ int F1, F2, F3, F4; };
std::vector<Features> listOfFeatures(4);
for(std::vector<Features>::iterator i = listOfFeatures.begin(); i != listOfFeatures.end(); i++)
{
std::int maxValue = criterionFunction(*listOfFeatures);
}
}
std::int criterionFunction(std::int *features)
{
return
-2*features[1]*features[2]
+3*features[1]
+5*features[2]
-2*features[1]*features[2]*features[3]
+7*features[3]
+4*features[4]
-2*features[1]*features[2]*features[3]*features[4];
}
谢谢。
【问题讨论】:
-
为什么不花点时间让标准函数清晰可见呢?简单并减少错误。此外,还会增加任何人阅读您的代码的风险
-
std::struct是什么? -
使用
enum怎么样?不过,不确定这是否适用于第二部分。 -
还有:std::int?标准::结构?!这是什么魔法?
-
看起来有人试图在毫无头绪的情况下将蹩脚的自动生成的 C 代码翻译成“现代 C++”