メインコンテンツ

動的な配列のコンテナー タイプ

動的な配列のコンテナー タイプ

R2024b 以降

モデル コンフィギュレーション ペイン: [コード生成] / [コード スタイル]

説明

生成されたコード内の 1 次元の動的な配列のコンテナー タイプを指定します。coder::array または std::vector を選択します。

このパラメーターは 1 次元の動的な配列にのみ影響します。より高い次元の動的な配列の場合、コード ジェネレーターはこのパラメーターの値に関係なく、coder::array コンテナーを生成します。

依存関係

  • このパラメーターを有効にするには、[言語] モデル コンフィギュレーション パラメーターを [C++] に設定します。

設定

std::vector (既定値) | coder::array

既定の設定: std::vector

std::vector

コード ジェネレーターは、1 次元の動的な配列を表す std::vector コンテナーを生成します。

coder::array

コード ジェネレーターは、1 次元の動的な配列を表す coder::array コンテナーを生成します。R2024b より前に作成されたモデルを開くと、モデルは既定でこの設定になります。

すべて展開する

次のようなモデル myModel について考えます。

Model that passes an unbounded variable-size signal from an Inport block to an Outport block.

このモデルは、非有界の可変サイズの 1 次元信号を Inport ブロックから Outport ブロックに渡します。[動的な配列のコンテナー タイプ] モデル コンフィギュレーション パラメーターを [std::vector] に設定すると、コード ジェネレーターは myModel.h で次のコードを生成します。

// External inputs (root inport signals with default storage)
struct ExtU_myModel_T {
  std::vector<real_T> Input;         // '<Root>/Input'
};

// External outputs (root outports fed by signals with default storage)
struct ExtY_myModel_T {
  std::vector<real_T> Out1;          // '<Root>/Out1'
};
[動的な配列のコンテナー タイプ] モデル コンフィギュレーション パラメーターを [coder::array] に設定すると、コード ジェネレーターは代わりに次のコードを生成します。
// External inputs (root inport signals with default storage)
struct ExtU_myModel_T {
  coder::array<real_T,1> Input;      // '<Root>/Input'
};

// External outputs (root outports fed by signals with default storage)
struct ExtY_myModel_T {
  coder::array<real_T,1> Out1;       // '<Root>/Out1'
};

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策推奨なし

プログラムでの使用

パラメーター: DynamicArrayContainerType
型: character vector
値: 'std::vector' | 'coder::array'
既定の設定: 'std::vector'

バージョン履歴

R2024b で導入