C++/CLI 等效于 C# 检查关键字
Posted
技术标签:
【中文标题】C++/CLI 等效于 C# 检查关键字【英文标题】:C++/CLI equivalent of C# checked keyword 【发布时间】:2013-02-21 23:28:03 【问题描述】:C++/CLI 中的托管代码有没有办法在算术溢出时引发异常? C# 有选中的关键字和全局项目标志来启用这些,但我在 C++/CLI 中都找不到...
我的情况是我将 C++ 库包装在 .NET 中。有时 C++ 本机代码会溢出。我正在/正在考虑将一些敏感的计算转移到现有的 C++/CLI 包装器中,但也许这是不可能的?
【问题讨论】:
What is the C++ equivalent of the C# checked 的可能重复项 ***.com/questions/14500593/…的可能重复 嗯!我们几乎在同一时间发布了该链接:D 对,这是否意味着 C++/CLI 始终检查算术? 【参考方案1】:链接的副本没有意义,C++/CLI 遵循 C++ 约定。 C++ 没有内置的算术溢出检测机制。
使用 checked 和 unchecked 关键字最初计划用于 C++/CLI 的未来扩展。 Ecma-372 是当前的语言标准,并在附录 F.2.1 中提出了此扩展。然而,这从未发生过,也不太可能实现。
因此,您必须自己实施溢出检查。您可以在 this question 中找到一些指导。
【讨论】:
谢谢!我被那个链接的问题弄糊涂了——似乎很误导人。以上是关于C++/CLI 等效于 C# 检查关键字的主要内容,如果未能解决你的问题,请参考以下文章
等效于链式 LINQ 扩展方法调用中的 'let' 关键字的代码
等效于链式 LINQ 扩展方法调用中的 'let' 关键字的代码