好或坏C成语 – 纯粹用于构造函数/析构函数的对象?
发布时间:2020-12-16 03:14:12 所属栏目:百科 来源:网络整理
导读:我有几个类除了在构造函数/析构函数中什么都不做.这是一个例子 class BusyCursor { private: Cursor oldCursor_; public: BusyCursor() { oldCursor_ = CurrentCursor(); SetCursor(BUSY_CURSOR); } ~BusyCursor() { SetCursor(oldCursor_); }}// example of
我有几个类除了在构造函数/析构函数中什么都不做.这是一个例子
class BusyCursor { private: Cursor oldCursor_; public: BusyCursor() { oldCursor_ = CurrentCursor(); SetCursor(BUSY_CURSOR); } ~BusyCursor() { SetCursor(oldCursor_); } } // example of use void DoSlowThing { BusyCursor busy; ... do something time-consuming ... } 我有点担心未来的可读性.我在这里太“巧妙”了,这个变量(“忙”)在代码中从来没有使用过?一些静态分析工具是否可以建议他们被删除,或者这个习惯是不是很常见呢? 解决方法
这种技术很常见,被称为设计模式:
Resource Acquisition Is Initialization (RAII).
我会毫不犹豫地使用这种设计模式. 使用这种设计模式进行编码要好得多,因为您将通过忘记重置游标或者所涉及的资源来避免错误. 如果您担心其他程序员可能不了解它,那么这些程序员应该受到更多的教育.始终努力以最无错误的方式编码,使您和其他人无法自行拍摄自己. “一些静态分析工具可以建议他们被删除吗?” >没有静态分析工具会看到这是一个问题. 原因是因为创建了对象并调用了构造函数/析构函数.所以它不是一个未引用的变量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- flex 堆叠图 type="stacked"
- ruby-on-rails – 显示created_at时未定义的方法“getlocal
- FusionCharts for Flex的属性和事件
- xcode – 在调用XCTFail()后,Swift单元测试不会停止
- c# – IEnumerable,Arity和Generic Type Definitions
- JsonView beta1
- 在cocos2dx2.2.3中遇到的error LNK2019: 无法解析的外部符号
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](五)
- cocos2d-x + Lua初始环境下的_G全局变量内容
- c#中的实时绘图