-2
mscolib.dll
어셈블리에 비틀어 졌을 때 Int32가 구조체임을 알았지 만 Int32에 "="연산자를 적용 할 수없는 이유는 무엇입니까? Int32 num=5;
.it Int32 구조체에서 "="연산자를 오버로드하지 않습니다.어떻게 "="연산자가 작동합니까?
mscolib.dll
어셈블리에 비틀어 졌을 때 Int32가 구조체임을 알았지 만 Int32에 "="연산자를 적용 할 수없는 이유는 무엇입니까? Int32 num=5;
.it Int32 구조체에서 "="연산자를 오버로드하지 않습니다.어떻게 "="연산자가 작동합니까?
=
연산자를 오버로드 할 수 없습니다. Overloadable Operators을 참조하십시오. =
연산자는 항상 오른쪽의 값을 왼쪽의 변수에 할당합니다.
값 유형 (struct)의 경우 전체 값이 변수에 복사됨을 의미합니다.
Int32
과 같은 유형의 경우 해당 복사를 수행 할 수있는 프로세서의 지침이 내장되어 있습니다. 한꺼번에 전체 값을 복사 할 수있는 명령어가 없기 때문에 구조체의 바이트를 변수에 복사하는 루프가 있습니다.
'+'연산자는 무엇을해야합니까? –
죄송합니다. 실수를했습니다. 대신 "="여야합니다. – Hongyaoshun