Как развернуть плагин Eclipse?

Что происходит:

  1. x вставлен через push_back. Возникает одна копия: вновь созданный элемент инициализируется аргументом. my_int берется как ноль, потому что конструктор по умолчанию x s инициализировал его так.
  2. Второй элемент - push_back 'd; Вектор должен перераспределить память, так как была достигнута внутренняя емкость . Поскольку конструктор перемещения неявно определен для Myint 1, выбран конструктор копирования; Первый элемент копируется во вновь выделенную память (его my_int все еще ноль ... поэтому конструктор копирования снова показывает my_int как 0), а затем x копируется для инициализации второго элемента (как в случае с первый в шаге 1). На этот раз x задано значение my_int, и это говорит нам вывод конструктора копирования.

Таким образом, общий объем вызовов - три. Это может варьироваться от одной реализации к другой, поскольку первоначальная емкость может отличаться. Тем не менее, два вызова являются минимальными.

Вы можете уменьшить количество копий за счет резервирования большего объема памяти, то есть увеличить емкость векторов, чтобы перераспределение стало ненужным:

myints.reserve(2); // Now two elements can be inserted without reallocation.

Кроме того, вы можете высвободить копии при вставке следующим образом:

myints.emplace_back(0);

Этот «emplaces» новый элемент - emplace_back является вариационным шаблоном и поэтому может принимать произвольное количество аргументов, которое оно затем пересылает - без копий или движений - в конструктор элементов.

1 Поскольку существует конструктор, созданный пользователем.

0
задан AlexSC 13 July 2018 в 14:52
поделиться

1 ответ

Самый надежный способ публикации подключаемого модуля (или функции) для других пользователей - создание сайта обновления. Затем вы можете направлять пользователей на этот сайт, чтобы они могли установить ваши плагины / функции через Установить новый программный интерфейс . Он также предоставляет простой способ публикации обновлений ваших плагинов.

Вот документация о создании сайта обновления .

1
ответ дан E-Riz 17 August 2018 в 12:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: