반응형
C와 C++는 왜 (int) + 4*5 식을 사용할 수 있습니까?
(int) + 4*5;
(값이 있는 유형을 추가하는) 것이 가능한 이유는 무엇입니까?(g++ 및 gcc와 함께 사용할 수 있습니다).
말이 안 되는 것은 알지만(그리고 효과가 없는 것은 알지만) 이것이 가능한 이유를 알고 싶습니다.
그+
이 값은 이진 덧셈 연산자가 아닌 단항 연산자입니다.여기서 추가는 일어나지 않습니다.
또, 구문은(int)
는 타이프 캐스팅에 사용됩니다.
이 스테이트먼트를 다음과 같이 다시 읽을 수 있습니다.
(int) (+ 4) * 5;
라고 해석됩니다.
((int) (+ 4)) * (5);
그 말은,
- 단항 적용
+
정수 상수값 연산자4
. - 에 타이프캐스트하다.
int
- 피연산자와 곱하다
5
이것은 와 유사합니다.(int) (- 4) * (5);
단항 연산자의 용법이 더 친숙합니다.
당신의 경우, 단항은+
그리고 출연진은int
- 둘 다 중복됩니다.
이는 다음과 같이 해석됩니다.((int)(+4)) * 5
즉, 표현입니다.+4
(리터럴에 적용되는 단항 더하기 연산자)4
), 타입에 주조int
C스타일의 캐스팅으로 그 결과를 곱하면5
.
언급URL : https://stackoverflow.com/questions/55783615/why-do-c-and-c-allow-the-expression-int-45
반응형
'programing' 카테고리의 다른 글
Vue.js에서 여러 라우터 뷰를 사용하는 방법 중 하나가 다른 컴포넌트 안에 있습니까? (0) | 2022.08.09 |
---|---|
(어떤 포인터의) 크기는 항상 4입니까? (0) | 2022.08.09 |
vuex-pathify make.display를 사용한 스토어 액션을 사용한 서브커밋 쓰기 커밋 (0) | 2022.08.09 |
가능하면 mod 연산자를 사용하지 않는 것이 좋습니까? (0) | 2022.08.09 |
로컬 검색 v-data-table Vuetify (0) | 2022.08.09 |