gpt4 book ai didi

c# - 使用语句实现与 C# 等效的 C++

转载 作者:IT王子 更新时间:2023-10-28 23:28:08 26 4
gpt4 key购买 nike

我正在寻找一种优雅的解决方案,用于在 C++ 中实现等效于 C# using 语句。理想情况下,生成的语法应该易于使用和阅读。

C# Using 语句详细信息在这里 - http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.80).aspx

我不确定解决方案是在类上使用带有析构函数的函数指针、某种形式的巧妙模板编程,甚至是元模板编程。基本上我不知道从哪里开始......

最佳答案

您不需要在 C++ 中实现这一点,因为 RAII 的标准模式已经满足您的需求。

{
ofstream myfile;
myfile.open("hello.txt");
myfile << "Hello\n";
}

当 block 作用域结束时,myfile 被销毁,这会关闭文件并释放与对象关联的所有资源。

using 语句存在于 C# 中的原因是为了在 try/finally 和 IDisposable 周围提供一些语法糖。在 C++ 中根本不需要它,因为两种语言不同,而且每种语言解决问题的方式也不同。

关于c# - 使用语句实现与 C# 等效的 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9133187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com