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