Можно ли использовать новое размещение С++ для конструкторов с параметрами? Я реализую пользовательский распределитель и хочу, чтобы не было необходимости перемещать функциональные возможности из конструкторов, отличных от по умолчанию, в функцию init.
class CFoo
{
public:
int foo;
CFoo()
{
foo = 0;
}
CFoo(int myFoo)
{
foo = myFoo;
}
};
CFoo* foo = new (pChunkOfMemory) CFoo(42);
Я бы ожидал, что объект типа CFoo будет создан в pChunkOfMemory с использованием второго конструктора. При использовании оператора new am я придерживался только конструкторов по умолчанию?
Решено! Я не #include <new>
. После этого вызов placement:: new работал отлично с конструкторами, отличными от по умолчанию.