coder.nullcopy

Объявите неинициализированные переменные в генерации кода

Синтаксис

Описание

пример

X = coder.nullcopy(A) тип копий, размер и сложность A к X, но не копирует значения элемента. Функция предварительно выделяет память для X не подвергаясь издержкам инициализации памяти. В генерации кода, coder.nullcopy функция объявляет неинициализированные переменные. В MATLAB®, coder.nullcopy возвращает вход, таким образом, что X равно A.

Если X структура или класс, содержащий массивы переменного размера, то необходимо присвоить размер каждого массива. coder.nullcopy не копирует размеры массивов или вложенных массивов от его аргумента до его результата.

Примечание

Прежде чем вы будете использовать X в функции или программе, гарантируйте что данные в X полностью инициализируется. Объявление переменной через coder.nullcopy не присваивая все элементы переменной приводит к недетерминированному поведению программы. Для получения дополнительной информации смотрите, Как Устранить Избыточные Копии путем Определения Неинициализированных переменных.

Примеры

свернуть все

Объявите переменную X когда вектор 1 на 5 из действительных удваивается, не выполняя ненужную инициализацию:

function X = foo %#codegen

N = 5;
X = coder.nullcopy(zeros(1,N));
for i = 1:N
   if mod(i,2) == 0
      X(i) = i;
   else
      X(i) = 0;
   end
end

Используя coder.nullcopy с zeros позволяет вам задать размер векторного 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++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Введенный в R2011a