簡単なことを行うコードがいくつかあります:
パラメータの値が -1 の場合、値を変更する必要があります。そうでなければ - 何もしない
20個のパラメータのリストがありますが、実行せずにチェックする方法があるかどうか知りたいです:
if param1 == -1 then ... else...
if param2 == -1 then.... そうでなければ...
より効率的にするために何ができるか、誰にもわかりませんか?ありがとう!
簡単なことを行うコードがいくつかあります:
パラメータの値が -1 の場合、値を変更する必要があります。そうでなければ - 何もしない
20個のパラメータのリストがありますが、実行せずにチェックする方法があるかどうか知りたいです:
if param1 == -1 then ... else...
if param2 == -1 then.... そうでなければ...
より効率的にするために何ができるか、誰にもわかりませんか?ありがとう!
パラメータがすべて変数である場合(配列などではない)、関数を作成して書くことができます
change_or_let_it_be( ¶m1, value );
change_or_let_it_be( ¶m2, value );
change_or_let_it_be( ¶m3, value );
そして、if(関数内)が1つしかなく、多くの呼び出しがあります。何らかの構造(配列、リストなど)に保存し、この関数を20回呼び出さないようにすることをお勧めします。
ご希望の内容が理解できているかわかりませんが、これはいかがですか?
void func(int params[20]) {
for (int i = 0; i < 20; ++i) {
if (params[i] == -1)
params[i] = NEW_VALUE;
}
}
for を使用してすべての値をチェックするため、さまざまな値をすべてハードコーディングする必要がなく、-1 の場合はパラメーターを変更します。また、「効率的」とは、ここでのコード作成時間がより効率的であることを意味すると仮定していることにも注意してください。
別のよりクリーンなソリューション:
int *p[] = {¶m1, ¶m2, ¶m3, NULL};
int i = 0;
for(;p[i] != NULL; i++) {
if(*p[i] == -1) *p[i] = SOME_VALUE;
}