ere*_*eOn 5 c++ heap stack memory-management class
我最近读了很多关于"防止一个类的堆分配"(参见这个问题).
我能够理解"如何",但现在我无法弄清楚"为什么"有人愿意这样做.
我想这一定有合理的理由,但我无法弄明白.
简而言之:"为什么我要禁止用户在堆中创建我的类的对象?"
Nem*_*vic 13
只有在堆栈上实例化对象时,某些类才有意义.例如,Boost scoped_ptr或lock_guard.
主要是因为堆栈分配的对象在超出范围时会自动清理,从而消除了大量的错误 - 即内存分配错误.