STL 中的allocate调用了::operator new() -----此函数不会调用construct;同理deallocate。
而new 或者 delete则编译器会自动算出size_t 和 void *p并传给::operator new及::operator delete,然后调用construct及deconstruct
一句话::operator new/::operator delete不会调用construct/deconstruct, 而new/delete会。
本文详细解释了STL中allocate与deallocate函数的作用机制,强调它们不会调用construct与deconstruct函数,与new/delete操作符的行为区别在于后者会自动进行构造与析构。
STL 中的allocate调用了::operator new() -----此函数不会调用construct;同理deallocate。
而new 或者 delete则编译器会自动算出size_t 和 void *p并传给::operator new及::operator delete,然后调用construct及deconstruct
一句话::operator new/::operator delete不会调用construct/deconstruct, 而new/delete会。
1108
1975

被折叠的 条评论
为什么被折叠?