Вопросы по теме 'placement-new'
Что это за вторая новинка?
Что такое вторая линия? (Видел, отвечая на другой вопрос.)
int * x = new int [1] ;
int * y = new (x) int;
После второй строки x и y имеют одинаковое значение (указывают на одно и то же место). В чем разница между y = x и второй строкой?...
473 просмотров
schedule
24.10.2023
Новые места размещения и исключения
Оператор «размещение нового» объявляется так:
void* operator new (std::size_t size, void* ptr) noexcept;
Но хотя это не связано с каким-либо фактическим распределением, поэтому исключения с плохим распределением устраняются, все же возможно,...
2190 просмотров
schedule
05.04.2024
С++ размещение нового в домашнем векторном контейнере
Здесь есть несколько очень похожих вопросов, но они не могли помочь мне понять это. Кроме того, я даю полный пример кода, чтобы другим было легче его понять.
Я сделал векторный контейнер (не мог использовать stl из-за проблем с памятью), который...
1891 просмотров
schedule
20.02.2024
Размещение нового и деструктора
У меня есть простая структура фиксированного размера, содержащая встроенные типы. Я создаю пул памяти, выделяя часть памяти, и разделяю эту память на блоки размером моей структуры. Затем он использует размещение new для вызова конструктора в...
730 просмотров
schedule
28.10.2023
Размещение нового и назначение класса с константным членом
Почему такое неопределенное поведение?
struct s
{
const int id; // <-- const member
s(int id):
id(id)
{}
s& operator =(const s& m) {
return *new(this) s(m); // <-- undefined behavior?
}
};...
946 просмотров
schedule
27.09.2022
Дополнительная конструкция при использовании нового размещения с классом хранилища
В ситуации, когда я хочу избежать динамического выделения памяти, я заменяю новый оператор процессом, который по существу использует память некоторого статически выделенного объекта (класс Storage ниже). Вы можете увидеть минимальный рабочий пример...
62 просмотров
schedule
29.01.2024