Hi Fan, > why my first overloaded operator new is called since #include > "utilnew.h" is not added in mymain.cc? Your new operator is a function. You are linking against your function. Hence, you are utilizing your function, rather than the one that would otherwise be used. > Is this related with certain compile option? No. HTH, --Eljay