C++ 如何使用SDL和OpenGL一起重写用于内存管理的NEW和DELETE?

C++ 如何使用SDL和OpenGL一起重写用于内存管理的NEW和DELETE?,c++,memory-management,sdl,C++,Memory Management,Sdl,我正在一起使用SDL和OpenGL 我想创建自己的内存管理器,只需重写NEW和DELETE命令,添加我的内存保留计数器和内存保留计数器,以保留有关我的泄漏的更多信息 但是,一旦我重写New,我就会在我使用的SDL和MinGW库中遇到很多错误,因为我这样做了,它们的新库也会被重写,但我只希望它用于我自己的类,不影响它们,但我在我的项目中的许多其他地方都包含了SDL 我也用了一个给我的朋友给他工作,但是他只用了C++和OpenGL,对他来说是有效的…… 这里发生了什么?人们是如何经常这样做的,并且每

我正在一起使用SDL和OpenGL

我想创建自己的内存管理器,只需重写NEW和DELETE命令,添加我的内存保留计数器和内存保留计数器,以保留有关我的泄漏的更多信息

但是,一旦我重写New,我就会在我使用的SDL和MinGW库中遇到很多错误,因为我这样做了,它们的新库也会被重写,但我只希望它用于我自己的类,不影响它们,但我在我的项目中的许多其他地方都包含了SDL

我也用了一个给我的朋友给他工作,但是他只用了C++和OpenGL,对他来说是有效的……
这里发生了什么?人们是如何经常这样做的,并且每次都推荐这样做的?这是真的吗?我应该每次都这样做吗?

您不需要覆盖新的,只是不需要手动管理内存。首先使用自动变量,对于那些需要从免费存储分配的0.05%的情况,使用RAII和智能指针。更好的方法是完全避免泄漏(提示:)。那么你就不需要跟踪任何信息。使用智能指针,除非你真的需要,否则请不要麻烦实现你自己的内存系统。哦,太好了,谢谢。嗯。我不知道使用哪种指针。。。聪明的指针就像Martinho说的,它有点不受欢迎。。。为什么?还是共享指针?:嗯。我想这将是我本周的待办事项。我之所以告诉你这一点,是因为我只是在一个奇怪的地方得到SIGSEGV时感到沮丧,只是创建了一个简单类型的新对象…
auto_ptr
不受欢迎,应该避免。优先选择堆栈分配的变量,否则使用
unique\u ptr
(如果可以),否则使用
shared\u ptr