string* p = new string这语句是怎么实现string对象就建立在new出来的内存中的呢,而且还调用了string构造函数?
能不能强制转换?如string* pstr = (string*)p;可以再对内存进行类成员赋值?
若是派生类,这构造函数又没有调用,问题多多。
另一方案在栈中建一个临时对象再进行内存数据的拷贝似乎可行,但繁锁,请大家给点建议。
2 个解决方案
#1
char * buf = new char[sizeof(Object)]
Object obj = new (buf)Object
Object obj = new (buf)Object
#2
果然两者内存是一样的。谢谢。
new是怎么实现这种操作的,还能调用构造函数。。
new是怎么实现这种操作的,还能调用构造函数。。
#1
char * buf = new char[sizeof(Object)]
Object obj = new (buf)Object
Object obj = new (buf)Object
#2
果然两者内存是一样的。谢谢。
new是怎么实现这种操作的,还能调用构造函数。。
new是怎么实现这种操作的,还能调用构造函数。。