3

C++/CLI 中的托管代码有没有办法在算术溢出时引发异常?C# 有选中的关键字和全局项目标志来启用这些,但我在 C++/CLI 中都找不到...

我的情况是我将 C++ 库包装在 .NET 中。有时 C++ 本机代码会溢出。我正在/正在考虑将一些敏感的计算转移到现有的 C++/CLI 包装器中,但也许这是不可能的?

4

1 回答 1

5

链接的副本没有意义,C++/CLI 遵循 C++ 约定。C++ 没有用于检测算术溢出的内置机制。

使用checkedunchecked关键字最初计划用于 C++/CLI 的未来扩展。 Ecma-372是当前的语言标准,并在附录 F.2.1 中提出了此扩展。然而,这从未发生过,也不太可能被实施。

因此,您必须自己实施溢出检查。你会在这个问题中找到一些指导。

于 2013-02-22T01:59:07.653 回答