관리되는 C++ (CLI)에서 오버플로를 피하려고합니다. C#에서는 검사되지 않은 키워드가 있고 C++에서는 오버플로가 예외로 끝나지 않습니다.C#이 C#에 해당하는 항목이 무엇입니까?
참고로 선택하지 않은 내용은 here입니다. 기본적으로 다음을 수행 할 경우 :
unchecked
{
int1 = 2147483647 + 10; //this overflows in CLI but is ok in C# and C++
}
C#에서는 오버플로가 발생하지 않고 최하위 비트를 사용하여 int로 변환됩니다. 예를 들어, 해시 코드를 계산할 때 적합합니다.
참고 : 이에 상응하는 C++ 키워드가 없다는 것을 알았지 만 일부 비트 이동은 그 트릭을 수행해야합니다.
'unchecked'가 기본 동작입니다 (컴파일러가 재정의하지 않은 경우). – leppie
관리되는 C++ (CLI)에서는 오버플로 예외가 발생합니다. 나는 그 질문을 편집하고있다. –
@downvoters - 이유가 무엇입니까? –