主要内容

coder.nullcopy

在代码生成中声明未初始化的变量

描述

例子

X= coder.nullcopy (一个副本的类型、大小和复杂性一个X,但不复制元素值。函数预分配内存X而不会引起初始化内存的开销。在代码生成中coder.nullcopy函数声明未初始化的变量。在MATLAB®coder.nullcopy返回X等于A的输入。

如果X是一个包含可变大小数组的结构或类,则必须指定每个数组的大小。coder.nullcopy不会将数组或嵌套数组的大小从其参数复制到其结果。

请注意

使用之前X在函数或程序中,要确保输入的数据X是完全初始化。声明一个变量coder.nullcopy没有对变量的所有元素赋值,将导致不确定性的程序行为。有关更多信息,请参见如何通过定义未初始化的变量来消除冗余副本

例子

全部折叠

声明变量X作为实双精度数的1乘5向量,而不执行不必要的初始化:

函数X = foo% # codegenN = 5;X = coder.nullcopy (0 (1, N));i = 1: N如果X(i) = 0; / / X(i) = 0其他的X (i) = 0;结束结束

使用coder.nullcopy0让您指定向量的大小X无需将每个元素初始化为零。

输入参数

全部折叠

要复制的变量,指定为标量、向量、矩阵或多维数组。

例子:coder.nullcopy(一个);

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|
复数的支持:金宝app是的

限制

  • 你不能使用coder.nullcopy在稀疏矩阵。

  • 你不能使用coder.nullcopy使用支持重载括号或需要索引方法来访问金宝app其数据的类,例如表格

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU的代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

介绍了R2011a