что означает этот шаблон? новый (& entry [num_entries]) элемент; - PullRequest
0 голосов
/ 05 марта 2019

код выглядит следующим образом:

struct set_t {
       static const uint32 MAX_ENTRIES=128;
       uint32 num_entries;
       item_t entries[MAX_ENTRIES]; 

       inline void add_back(item_t item){
            ***new (&entries[num_entries]) item;***
            ++num_entries;
       }

};

Эта строка: "новый (& records [num_entries]) item;"озадачивает, на самом деле это выделяет память?

1 Ответ

1 голос
/ 06 марта 2019

пожалуйста, взгляните на этот вопрос: Какое использование есть для "размещения новых"?

new (address) varname;

- это так называемый оператор размещения new, который создает объект в заранее выделенном буфере.

Итак, ответ на ваш вопрос: он не выделяет новую память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...