C ++干净的方法将ifloats表定义为数组

时间:2020-06-05 20:38:52

标签: c++

我有一张这样的桌子:

public String getOrderKind() {
    return orderType;
}

public void setOrderKind(String orderKind) {
    this.orderType = orderKind;
}

最清晰的定义方式是什么?这是全球性的。

我在想类似的东西

static const float scalers[NUM_Categories] = { 0.f,   0.97f, 0.92f, 0.83f,
                                                 0.94f, 0.73f, 0.9f};

但是iirc是非标准C语言。有问题的项目使用clang,gcc和msvc(作为C ++)进行编译。是否有某种类似的方法可以一目了然地分辨出数组中的哪些值对应于哪些类别? (同时将其保留为简单数组)

2 个答案:

答案 0 :(得分:3)

是否可以通过某种方式使相似的内容一目了然,从而轻松分辨出数组中的哪些值对应于哪些类别? (同时将其保留为简单数组)

您可以使用代码格式和注释,如下所示:

static const float scalers[NUM_Categories] = {
    0.f,   //Category_A
    0.97f, //Category_B
    0.92f, //Category_C
    0.83f, //Category_D
    0.94f, //Category_E
    0.73f, //Category_F
    0.9f   //Category_G
};

答案 1 :(得分:1)

如果您改用static constexpr std::array<float, NUM_Categories> scalers = []{ auto scalers = std::array<float, NUM_Categories>{}; scalers[Category_A] = 0.f; scalers[Category_B] = 0.97f; return scalers; }(); ,则可以使用一个函数对其进行初始化,在该函数中您可以一次指定一个元素。

<div *ngFor="let element of array; let i = index">
{{ element }}
<div *ngIf="i > 0 && (i+1)%5 === 0">Each 5</div>

Demo

您也可以使用lambda。

Navigation.registerComponentWithRedux("Event.AuthScreen", () => AuthScreen,Provider,store);
Navigation.registerComponentWithRedux("Event.Map", () => EventMap,Provider,store);
Navigation.registerComponentWithRedux("EventCreator", () => EventCreator,Provider,store);
Navigation.registerComponentWithRedux("EventHome", () => EventHome,Provider,store);

Demo