다르게 나오는게 맞는거임?
++i랑 i++이랑 어셈블리 코드 똑같이 나오는데
ㅇ(222.112)
2021-10-08 00:07
추천 0
댓글 19
다른 게시글
-
30살 비전공 스팩 ㅁㅌㅊ? [3]익명(1.236) | 21.10.08추천 0
-
오늘 본인이 잊지ㅡ못하는 짤 [6]사서조무사(syachiku) | 21.10.08추천 0
-
화양연화에 이어서 첨밀밀 보고있는데익명(114.202) | 21.10.08추천 0
-
윈도우11에서 코딩 잘됨? [5]익명(119.192) | 21.10.08추천 0
-
아직 집에 못들어간 국비생이 있다?! [4]익명(175.223) | 21.10.08추천 0
-
“잘자 병신아” 라고 해줘 [4]익명(175.223) | 21.10.08추천 0
-
중소 준비안하고 면접가도되나 [1]익명(121.125) | 21.10.07추천 0
-
디씨 크롤링 하다보면 엠티 리스폰스 날아오는데 [3]익명(218.238) | 21.10.07추천 0
-
쓰읍! 아서라기구한인생(covered07132) | 21.10.07추천 0
-
오라클에서 자바로 데이터 resultSet으로 받아오면 [1]익명(110.47) | 21.10.07추천 0
한 문에 그것만 써서 그런 거 아님 ㅇㅅㅇ?
int i=0, j=0 변수 다르게 한 다음에 ++i, j++ 했음
printf("%d", i++) printf("%d", ++i) 이렇게 해도 똑같이 나옴 ㅇㅅㅇ?
출력이랑 상관 없을거 같아서 안해봤는데
출력이 아니라 순서가 상관 있는 걸 말하고 싶었음 ㅇㅅㅇ 나 사실 잘 모르니까 그냥 빠짐 ㅇㅅㅇ
해당 댓글은 삭제되었습니다.
int i=0, j=0 변수 다르게 한 다음에 ++i, j++ 했음
자바 컴파일러는 최적화해준다던데 어셈은 잘몰그ㅔㅆ당..
C언어임
상위 1% 댓글많은 게시물
inc가 줄 앞에붙고 뒤에붙고 차이임 ㅇㅅㅇ ++하면서 다른일 하면 차이 나옴
++ 하면서 다른일이 무슨 말임?
컴파일러가 최적화한거임 i++ + ++j 같은거 하면 달라질거임
그럼 내부적으로는 똑같은거네?
아닌가?
a=i++; b=++j; 라도 해야지
아
원칙적으로는 후위 증감 연산자가 복사 생성자를 호출하도록 구현되기 때문에 전위에 비해 손해가 맞음. 어셈블리 코드 같은건 나도 컴파일러 최적화라고 봄
gcc, clang에서는 i++이 ++i에 비해 mov 한 줄 많음. msvc에서는 순서만 다름. 그냥 컴파일 옵션으로 최적화 넣으면 알아서 기상천외하게 해줄 것이다.