|
|
1
62
它肯定会改进您的代码。您尝试性地表述了这样一种说法,即它是模糊的,并且代码应该从
另一方面,明确的
RAII(包括
|
|
|
2
29
对 如果有一块C++代码,我可以建议每一个C++程序员花10分钟学习,它是ScopeGuard(现在是免费提供的一部分)。 Loki library
我决定尝试将ScopeGuard的一个(稍加修改)版本用于我正在开发的一个小型Win32 GUI程序。您可能知道Win32有许多不同类型的资源,需要以不同的方式关闭(例如,内核句柄通常使用
更短的 这个节目很成功。 基本上,这是一种双赢:您的代码会变得更短,同时更健壮。未来的代码更改 . 他们就是不能。那有多酷? |
|
|
3
2
我经常用它来保护内存使用,这些需要释放的东西是从操作系统返回的。例如:
|
|
|
4
2
对
|
|
|
5
1
我没有使用过这个特定的模板,但我以前也使用过类似的模板。是的,与以不同方式实现的同样健壮的代码相比,它确实会带来更清晰的代码。 |
|
|
6
1
我认为上述答案缺少一个重要的提示。正如其他人指出的,您可以使用
|
|
|
7
-1
如果 范围保护有任何实际用途,资源处理是 其中一个。在这种情况下,它们大大低于普通RAII,因为RAII是重复数据消除和自动的,范围保护是手动代码复制或半身像。 |
|
|
8
-2
我的经验表明
使用简单的RAII类
非常简单的实现
|
|
|
Post Self · std::是否可以退出泄漏内存? 8 年前 |
|
|
OneRaynyDay · 在这种情况下,我应该使用智能指针吗? 8 年前 |
|
|
jcai · 对象的ctor和dtor必须在同一个线程上吗? 9 年前 |
|
|
Stradigos · 防止解构宏中定义的匿名变量,直到作用域结束 9 年前 |
|
|
user877329 · 通用句柄类 10 年前 |