请你们 C + + 开发人员给我们一个好的描述什么是 RAII,为什么它是重要的,它是否可能有任何相关性其他语言?
我知道一点。我相信它代表“ RAII”。然而,这个名字与我对什么是 RAII 的理解(可能是错误的)并不一致: 我得到的印象是,RAII 是一种初始化堆栈上对象的方法,当这些变量超出作用域时,析构函数将被自动调用,从而导致资源被清理。
那么,为什么不称之为“使用堆栈触发清理”(UTSTTC:) ? 如何从那里到“ RAII”?
那么如何在堆上创建一些东西,从而清理堆上的东西呢?还有,是否存在不能使用 RAII 的情况?你有没有发现自己希望收集垃圾?至少可以为某些对象使用垃圾收集器,同时让其他对象得到管理?
Thanks.