0
例コードは完璧ではありません。Cリターンタイプのベストプラクティス
私は関数から配列とintを返す必要があるとしましょう(1つの関数が必要なので、別々にそれらを計算する方法はありません)。 これらの3つの方法のどれがデザインに最適なのでしょうか?
int * return_pointer(int *num){
int *arr = calloc(5,sizeof(int));
//compute num and do stuff with arr
*num = computed_value;
return arr;
}
int return_int(int *arr){
int num = 0;
//compute num and do stuff with arr
num = computed_value;
return num;
}
void no_return(int *arr, int *num){
//compute num and do stuff with arr
*num = computed_value
}
メインにと呼ばれるこれらの各1 ARRとNUM内の同じ値を入れます
int main(){
int *arr = calloc(5,sizeof(int));
int num = 0;
// first function
arr = return_pointer(&num);
// second function
num = return_int(arr);
// third function
no_return(arr, &num);
free(arr);
}
すべての3つの機能を次のように。デザインと読みやすさの観点から、どちらを使うのがベストですか?
@cwallenpoole例コードはコードレビューで話題になりません。 – Peilonrayz
@cwallenpooleこれは、ここでstackoverflowのデザインカテゴリに関連していますか?私はそう思っていましたが、話題にはならないと思いますが、codereviewでそれを作成します –
あなたはおそらく編集でこの質問をここで取り戻すことができ、3つのバージョンの違いを自由に質問できます読みやすさや「何が最善のものなのか」などです。このような質問への回答は、しばしば意見に基づいているため、ここでは読みやすさに関する質問に目立つ傾向があります。 – Lundin