文/刘涛
编译器负责Connection引用类型的IDisposable接口的实现,所以使用类似C#、Visual Basic.NET的开发人员可以使用任何对他们可用的资源管理结构。对于C++开发人员,有着与以前一样的选择。为了简化资源管理,并书写"异常"安全代码,你可以简单地在栈上声明一个Connection对象。当一个对象超过其作用范围后,执行Dispose方法的析构函数将被调用。下面是一个例子:
void UseStackConnection() { Connection connection("sample.kennyandkarin.com"); Console::WriteLine("Connection to {0} established!", connection.Server); } |
这个例子中,通过在函数返回调用前调用析构函数来关闭这个Connection,这正如你在C++希望的那样。如果你希望自己控制对象的生命期,仅仅需要使用gcnew这个关键词来获取connection对象的句柄。这个指针可以看作通常的指针(不含有通常的缺陷),并且这个对象的析构函数可以简单地通过delete操作来调用。这个例子代码如下 :
void UseHeapConnection() { Connection^ connection = gcnew Connection("sample.kennyandkarin.com"); try { Console::WriteLine("Connection to {0} established!", connection->Server); } finally { delete connection; } } |
正如你所看到的,从本地C++到托管代码,Visual C++ 2005带来了简单灵活的资源管理方式,可以书写强壮的资源管理代码对于书写正确、安全的代码是非常重要的。
七、小结
无论是对于一个小的程序还是一个大的应用,Visual C++ 2005发布版本都是一个功能强大的开发工具,C运行时库和C++标准库提供了一个强大的工具集,来发布功能强大的、强壮的本地应用程序,同时,对用C++书写托管代码有着一流的支持,Visual C++ 2005在微软的Windows开发平台上是独一无二的强大的开发工具。
[上一页] [1] [2] [3] [4] [5] [6]