3
良いC可変長配列の例[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問はSOでかなりフリーズしたレセプションを得たので、そこで削除して代わりにここで試すことにしました。ここにも当てはまらないと思われる場合は、少なくとも私が求めている例を見つける方法の提案についてコメントを残してください... C99 VLAを使用することで、現在の標準ヒープを使用するC ++ RAIIメカニズムなどよりも優れた例を挙げていただけますか? 私が後の例は次のとおりです: ヒープを使用するよりも簡単に測定できる(おそらく10%)パフォーマンスの利点を実現します。 アレイ全体をまったく必要としない、適切な回避策はありません。 実際には、最大サイズを固定する代わりに、動的サイズを使用するメリットがあります。 通常の使用シナリオでスタックオーバーフローが発生することはほとんどありません。 C ++プロジェクトにC99ソースファイルを含めるためのパフォーマンスを必要とする開発者を誘惑するのに十分な強さである。 文脈上のいくつかの明確化を追加:C99の意味と、標準C ++に含まれていないように私は、VLAを意味:int array[n]どこn変数です。そして、私はそれが他の標準(C90、C ++ 11)によって提供される代替手段に勝るユースケースの例の後にいます: int array[MAXSIZE]; // C stack array with compile time constant size int *array = calloc(n, sizeof int); // C heap array with manual free int *array = new int[n]; // …