c++ - 数组初始化 - 有条件地

标签 c++ c arrays if-statement initialization

我有一个必须有条件地定义的 8 成员数组。即,对于每个条件,数组元素的值将不同。

但是,对于每个条件,我宁愿不一一定义元素。有什么方法可以像这样一起定义数组的所有元素:

double c[8];
if ( a == p ){
    c[]={values} ; 
} else if ( a == q) {
        c[]={values} ; 
} else if (.. ){
        ......
}

代替

double c[8];
if ( a == p ){
    c[0]= .. ;
    c[1]= .. ;
    ...
    c[7] = ..;
} else if ( a == q) {
    c[0]= .. ;
    c[1]= .. ;
    ...
    c[7] = ..;
} else if ( ... ) {
    ....
}

PS:if条件有7个

最佳答案

假设条件的每个分支中的值都没有改变:

有一些值数组 values[NumConditions][8] 并使 c 成为指针。 然后:

switch(a) {
    case First: c = values[0]; break;
    case ...
}

关于c++ - 数组初始化 - 有条件地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20398675/

相关文章:

javascript - 从数组中删除匹配的对象,同时将其添加到另一个数组

c++ - 当第二个操作数为 1 时,如何将每一位清零?

c++ - 你如何将 boost::bind 对象传递给函数?

C: 宏产生警告 "statement with no effect"

c++ - libmemcached : SERVER HAS FAILED AND DISABLED UNTIL TIMED RETRY

javascript - Lodash 是否与 _.keys 相反?

javascript - 从对象数组创建树层次结构

c++ - 如何在C++中选择随机字母

c++ - 可移植性库/框架

c - C 中的各种函数进行隐式转换?