연산자 차이를 묻는 건 아닐테고 for문에서는 그냥 똑같음. 머 i가 클래스로 되어 잇으면 연산자 오버로딩할 때 i++는 증가전의 i를 복사해서 그걸 리턴하고 자기가 증가하느라 객체를 복사하는 비용이 생기지만, ++i는 별도 복사없이 자기 자신만 증가시키고 레퍼런스를 그냥 리턴하면 되니까 더 효율적이다라는 얘기가 있었긴 함. 근데 이거랑은 상관없을 듯
익명(61.74)2024-01-11 18:26
답글
이건 몰랐누
익명(117.111)2024-01-11 18:28
답글
굿굿 - dc App
익명(117.111)2024-01-11 18:32
답글
그래서 i++는 증가 이전의 임시로 복사된 값을 리턴하니까 i++ = x같이 뭘 할당하는 게 안되고, ++i는 ++i = x같이 할당하는 게 됨.
익명(61.74)2024-01-11 18:35
답글
어차피 그정도차이는 컴파일러가 다 최적화해줌 진짜 기계어되면 아무상관없어짐
익명(39.7)2024-01-12 09:49
답글
ㄴ 클래스의 경우에는 복사 비용이 있기 때문에 최적화로 어떻게 안될거임. int같은거야 상관없겠지만.
++i 가 성능 이슈있다고 배운 세대도 있긴 해 21세기 이전 C 쓰던 사람들
++i 쓰면 고인물 같아 보이겟누 - dc App
잘못기억한듯 i++가 성능이슈 있지
연산자 차이를 묻는 건 아닐테고 for문에서는 그냥 똑같음. 머 i가 클래스로 되어 잇으면 연산자 오버로딩할 때 i++는 증가전의 i를 복사해서 그걸 리턴하고 자기가 증가하느라 객체를 복사하는 비용이 생기지만, ++i는 별도 복사없이 자기 자신만 증가시키고 레퍼런스를 그냥 리턴하면 되니까 더 효율적이다라는 얘기가 있었긴 함. 근데 이거랑은 상관없을 듯
이건 몰랐누
굿굿 - dc App
그래서 i++는 증가 이전의 임시로 복사된 값을 리턴하니까 i++ = x같이 뭘 할당하는 게 안되고, ++i는 ++i = x같이 할당하는 게 됨.
어차피 그정도차이는 컴파일러가 다 최적화해줌 진짜 기계어되면 아무상관없어짐
ㄴ 클래스의 경우에는 복사 비용이 있기 때문에 최적화로 어떻게 안될거임. int같은거야 상관없겠지만.
컴파일 해보면 asm 완전 똑같음. 그냥 손가는대로 쓰면 됨
정수형이면 상관업슴
디스어셈블러로 까보셈 그게 제일 정확함