Размещение новых и нестандартных конструкторов

Могу ли я назвать размещение 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 отлично работал с конструкторами, отличными от стандартных.

12
задан MSalters 12 October 2010 в 08:02
поделиться