gpt4 book ai didi

.net - 什么是托管 C++ 等效于 C# using 语句

转载 作者:行者123 更新时间:2023-12-03 11:51:54 24 4
gpt4 key购买 nike

如何在托管 C++ 中编写以下 C# 代码

void Foo()
{
using (SqlConnection con = new SqlConnection("connectionStringGoesHere"))
{
//do stuff
}
}

澄清:
对于托管对象。

最佳答案

假设您指的是 C++/CLI(不是旧的 Managed C++),以下是您的选择:

(1) 使用自动/基于堆栈的对象模拟 using-Block:

{
SqlConnection conn(connectionString);
}

这将在下一个封闭块结束时调用“conn”对象的析构函数。这是封闭函数,还是您手动添加到限制范围的块都无关紧要。

(2) 显式调用“Dispose”,即销毁对象:
SqlConnection^ conn = nullptr;
try
{
conn = gcnew SqlConnection(conntectionString);

}
finally
{
if (conn != nullptr)
delete conn;
}

第一个将是“使用”的直接替代品。第二个是一个选项,通常你不需要这样做,除非你有选择地将引用传递给其他地方。

关于.net - 什么是托管 C++ 等效于 C# using 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338950/

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