在C ++中设计参数化结构

我具有许多不同基本类型的功能,这些参数由0到9的数字参数化表示,例如

    int a[10];
    double b[10];
    char c[10];

因此将它们组织成一个结构很有意义:

Struct Features {
    int a;
    double b;
    char c;
};
Features f[10];

但是,我需要一一阅读这些功能。例如。首先是a [0] ... a [9],然后是b [0] ... b [9]等,例如“ a_features = 1,2,3,4,5,6,7,8,9 ,10“,” b_features = 0.5,... 12.4“等。对于此类输入,将输入读入

会容易得多
int a[10]    

比成

Features f[10]

在这种情况下,标准设计是什么?

更新:

感谢所有人的迅速响应-我的主要目标是设计整洁,从性能角度考虑,这并不重要。让我感到有些丑陋的是,如果没有Features结构,我将拥有几乎相同的代码,重复了很多次。像

parse_features(a,"a_features,src_a); 
parse_features(b,"b_features",src_b);

如果容器是矢量,并且size(10)来自用户,则必须分别调整每个矢量的大小,诸如此类。

xiaoailiang 回答:在C ++中设计参数化结构

整数a[3]是否与双精度b[3]和char c[3]有关?如果是,那么将它们分组为一个结构确实很有意义。

如果必须阅读所有int,则先加倍再加char,就这样。 “将一个整数读入f[3].a”和“将一个整数读入a[3]”一样容易。

如果您的输入具有这样的结构,则无法避免三个循环。同一数组上的三个循环看起来不太优雅,但是如果对数据进行逻辑分组,则程序的其余部分(重要部分!)将更容易理解。

本文链接:https://www.f2er.com/3135373.html

大家都在问