////=========================================================================================================================!
#include <new>
//===============================================================
class MyClass
{
private :
int ma;
public :
MyClass():ma(-1){}
};
//===============================================================
int main()
{
// I am allocating the memory for holding 10 elements of MyClass on heap
void* pMyClass = ::operator new(sizeof(MyClass)*10);
//! Note :: the address of pMyClass1 and pMyClass will now point to same location after calling placement new
MyClass* pMyClass1 = :: new(pMyClass)MyClass();
// Problem with this is that, i can only instantiate the constructor for the base address. that is pMyClass[0].
// If i have to instantiate it for all the other instances, that is pMyClass[1] to pMyClass[9], then how to do it ?
return 0;
}
Ly8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0hCiNpbmNsdWRlIDxuZXc+Ci8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmNsYXNzIE15Q2xhc3MKewpwcml2YXRlIDoKCWludCBtYTsKcHVibGljIDoKCU15Q2xhc3MoKTptYSgtMSl7fSAgICAgIAp9OwovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQppbnQgbWFpbigpCnsKCS8vIEkgYW0gYWxsb2NhdGluZyB0aGUgbWVtb3J5IGZvciBob2xkaW5nIDEwIGVsZW1lbnRzIG9mIE15Q2xhc3Mgb24gaGVhcAoJdm9pZCogcE15Q2xhc3MgPSA6Om9wZXJhdG9yIG5ldyhzaXplb2YoTXlDbGFzcykqMTApOwoKCS8vISBOb3RlIDo6IHRoZSBhZGRyZXNzIG9mIHBNeUNsYXNzMSBhbmQgcE15Q2xhc3Mgd2lsbCBub3cgcG9pbnQgdG8gc2FtZSBsb2NhdGlvbiBhZnRlciBjYWxsaW5nIHBsYWNlbWVudCBuZXcKCU15Q2xhc3MqIHBNeUNsYXNzMSA9IDo6IG5ldyhwTXlDbGFzcylNeUNsYXNzKCk7CgkvLyBQcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0LCBpIGNhbiBvbmx5IGluc3RhbnRpYXRlIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIGJhc2UgYWRkcmVzcy4gdGhhdCBpcyBwTXlDbGFzc1swXS4gCgkvLyBJZiBpIGhhdmUgdG8gaW5zdGFudGlhdGUgaXQgZm9yIGFsbCB0aGUgb3RoZXIgaW5zdGFuY2VzLCB0aGF0IGlzIHBNeUNsYXNzWzFdIHRvIHBNeUNsYXNzWzldLCB0aGVuIGhvdyB0byBkbyBpdCA/CglyZXR1cm4gMDsKfQ==