我和我认为许多其他人在使用智能指针来包装C++中的不安全内存操作(使用RAII等)方面取得了巨大成功。但是,当您有析构函数、类、运算符重载等时,包装内存管理更容易实现。对于使用原始C99编写的人,您可以指出哪里(不是双关语)来帮助安全内存管理?谢谢。 最佳答案 这个问题有点老了,但我想我会花时间链接到我的smartpointerlibrary用于GNU编译器(GCC、Clang、ICC、MinGW、...)。这个实现依赖于清理变量属性,一个GNU扩展,在超出范围时自动释放内存,因此,不是ISOC99,而是带有GNU扩展的C99。例子