C++ “重新定义”的目的是什么;新";操作人员
我一直想知道它重新定义新的的目的是什么。我的意思是,当开发人员使用:C++ “重新定义”的目的是什么;新";操作人员,c++,macros,new-operator,C++,Macros,New Operator,我一直想知道它重新定义新的的目的是什么。我的意思是,当开发人员使用: #pragma push(macro,new) #undef new 这有什么作用?我以为新的操作符是所有编译器的标准? 重新定义new是否给开发者一种改变新的对象空间分配方式的方法? 你可以认为它是用来记录C++程序中发生的任何分配的。因此,您需要定义自己的新操作,该操作将记录此分配。此外,您需要重新定义删除以记录C++中所有的Un分配。 一些工具重新定义它,为内存块的开始和结束分配更多内存,并在头部和尾部找出某些签名,以
#pragma push(macro,new)
#undef new
这有什么作用?我以为新的操作符是所有编译器的标准?
重新定义new是否给开发者一种改变新的对象空间分配方式的方法? 你可以认为它是用来记录C++程序中发生的任何分配的。因此,您需要定义自己的新操作,该操作将记录此分配。此外,您需要重新定义删除以记录C++中所有的Un分配。
一些工具重新定义它,为内存块的开始和结束分配更多内存,并在头部和尾部找出某些签名,以找出代码中的缓冲区过度运行问题。您可以检查MS Application Verifier,它可以执行此操作。我认为可以重新定义new,以便它们可以进行特殊的分配大小,比如在结构上使用“#pragma pack”。我想我错了。谢谢你清理这个。可能是的副本