c++ cli - 检查的 C# 的C++等效项是什么
本文关键字:是什么 C++ cli 检查 c++ | 更新日期: 2023-09-27 17:55:50
我希望避免托管C++ (CLI) 溢出。在 C# 中有一个未经检查的关键字,在 C++ 中,溢出不会以异常告终。
作为参考,此处记录了未选中。基本上,如果您这样做:
unchecked
{
int1 = 2147483647 + 10; //this overflows in CLI but is ok in C# and C++
}
在 C# 中,它不会溢出,而是通过获取最低有效位转换为 int。例如,当您计算哈希代码时,这是合适的。
注意:我意识到没有等效C++关键字,但一些位移位应该可以解决问题;
您只需在方法周围使用#pragma unmanaged
即可获取本机C++中的正常未经检查的行为。
对位运算和校验和使用无符号数据类型。 无符号行为的环绕行为在C++中得到了很好的定义。