问个基础问题,请进来看代码
-
2012年4月18日 6:19
代码如下:
...
public:
IOCPThreadPool(); ~IOCPThreadPool() { InternalDispose(); } !IOCPThreadPool() { InternalDispose(); } <--请问这个构造函数之前的感叹号是什么意思?
全部回复
-
2012年4月18日 7:20版主Error 1 error C3294: this syntax is not support with /clr:oldSyntax: please use '~IOCPThreadPool' instead
Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
-
2012年4月18日 10:16请问楼上,这个构造函数前加感叹号,代表什么意思,按你的说法,就是和析构函数一样么?
-
2012年4月19日 5:51版主
JosephChen197701你好!
~IOCPThreadPool() 是析构函数,引用类型的析构函数用于执行对资源的显式清除。
!IOCPThreadPool() 是终结器,清理非托管资源,并可以被析构函数显式调用,也可以被垃圾收集器隐式调用。
在Visual C++终结,是不同于Finalize方法的。(公共语言运行库文件使用终结和Finalize方法同义)。 Finalize方法被垃圾收集器调用,垃圾收集器调用类继承链中每个终结。与Visual C + +中的析构函数不同,调用派生类的终结不会导致编译器调用所有基类的终结。
希望我的回复对你有所帮助。如果你想知道更多关于终结器的只是,请参考: http://msdn.microsoft.com/zh-cn/library/ms177197(v=vs.100).aspx。
祝你好运!
Helen Zhao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 JosephChen197701 2012年4月19日 10:16
-
2012年4月19日 10:18斑竹威武,非常感谢,以后还请多指教,谢谢

