Main Content

coder.nullcopy

コード生成での初期化されていない変数の宣言

説明

X= coder.nullcopy(A)は、Aの型、サイズおよび実数/複素数をXにコピーしますが,要素の値はコピーしません。この関数は,メモリの初期化時にオーバーヘッドを発生させることなく、Xのメモリを事前に割り当てます。コード生成では、関数coder.nullcopyは初期化されていない変数を宣言します。MATLAB®で、coder.nullcopyは X が A と等しくなるような入力を返します。

X が可変サイズの配列を含む構造体またはクラスの場合は、各配列のサイズを割り当てなければなりません。coder.nullcopyは配列、または引数から結果までの入れ子配列のサイズをコピーすることはありません。

メモ

Xを関数やプログラムで使用する前に、X内のデータが完全に初期化されていることを確認します。coder.nullcopyを通じて、変数のすべての要素を割り当てることなく変数を宣言すると、プログラムの動作が非確定的なものになります。詳細については、未初期化変数を定義することにより余分なコピーを排除する方法を参照してください。

すべて折りたたむ

不要な初期化を実行せずに、変数Xを実数で double の 1 行 5 列のベクトルとして宣言します。

functionX = foo%#codegenN = 5; X = coder.nullcopy(zeros(1,N));fori = 1:Nifmod(i,2) == 0 X(i) = i;elseX(i) = 0;endend

coder.nullcopyzerosを使用すると、各要素をゼロに初期化することなく、ベクトルXのサイズを指定できます。

入力引数

すべて折りたたむ

コピーする変数。スカラー、ベクトル、行列または多次元配列として指定します。

例:coder.nullcopy(A);

データ型:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64|logical|char|string|class
複素数のサポート:あり

制限

  • coder.nullcopyはスパース行列では使用できません。

  • coder.nullcopyは、オーバーロードされたかっこをサポートするクラス、またはtableなどのデータにアクセスするためにインデックス手法を必要とするクラスでは使用できません。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2011a で導入