Информация об изменениях

Сообщение Re[4]: Мультипроцессный защищенный код от 01.04.2018 22:32

Изменено 01.04.2018 22:37 Barbar1an

Re[4]: Мультипроцессный защищенный код
Здравствуйте, Pavel Dvorkin, Вы писали:

B>>auto d = new CObject ...


PD>Только если переопределить operator new так, чтобы он выделял память в расшаренной области.



тут вот проблема что для своих объектов я могу переопределить new, а если я например возвращаю референс на std::string? и вообще все std классы где будут инициироваться сами и свои потроха? а де попало...
Re[4]: Мультипроцессный защищенный код
Здравствуйте, Pavel Dvorkin, Вы писали:

B>>auto d = new CObject ...


PD>Только если переопределить operator new так, чтобы он выделял память в расшаренной области.



тут вот проблема что для своих объектов я могу переопределить new, а если я например возвращаю референс на std::string? и вообще все std классы где будут инициироваться сами и свои потроха? а де попало...
или там всё так круто написано что мой аллокатор и все потроха разместит в том пуле который мне нужен?

но всё равно куча рисков сохраняется например

class A
{
std::string Text;
A * operanor new (...
}

autp a = new A

запихнет Text туда же куда и A
а потроха Text, (буфер текста) будут в каком пуле?

может проще вообще все XxxxAlloc перехватить и перенаправить на общий пул?