ada*_*ter 11 c# c++ templates using-statement
我正在寻找一种优雅的解决方案,用于在C++中实现C#using语句的等价物.理想情况下,结果语法应该易于使用和阅读.
C#使用语句详细信息在这里 - http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.80).aspx
我不确定解决方案是使用函数指针与类上的析构函数,某种形式的巧妙模板编程甚至是元模板编程.基本上我不知道从哪里开始......
Dav*_*nan 27
您不需要在C++中实现它,因为RAII的标准模式已经满足您的需求.
{
ofstream myfile;
myfile.open("hello.txt");
myfile << "Hello\n";
}
Run Code Online (Sandbox Code Playgroud)
当块作用域结束时,myfile将销毁该文件并关闭文件并释放与该对象关联的任何资源.
using声明存在于C#中的原因是在try/finally和IDisposable.周围提供一些语法糖.在C++中根本不需要它,因为这两种语言不同,并且每种语言的问题都有所不同.