1
Khi biên dịch với MINGW gcc, toán tử mới bị quá tải không được gọi cho std :: string
Chương trình này (được biên dịch với tùy chọn -std=c++17) #include <stdio.h> #include <string> void* operator new(std::size_t nrOfBytes) { printf("allocate %zd bytes on heap\n", nrOfBytes); void* p = malloc(nrOfBytes); if (p) { return p; } else { throw std::bad_alloc{}; } } int main() { // new operator is called when …