728x90
1. 개요
오늘은 for문에서 전위 후위 증감문에 속도 차이에 대해 알아보겠습니다.
2. 차이
C++ 공부를 하다 보면 for문을 많이 사용할것입니다.
근데 여기서
for(int i=0; i<10 ; i++)
와
for(int i=0; i<10 ; ++i)
가있었습니다.
저는 첫번쨰를 많이쓰고 습관화가 되있습니다.
과연 둘 중 누가 더 속도가 빠를가요?
첫 째. 전위연산
int a = 1;
int b = ++a;
를 할 경우 a와 b를 출력하면 a = 2, b = 2 의 결과값이 나옵니다.
둘 째 후위 연산
int a = 1;
int b = a++;
를 할 경우 a = 2, b = 1 결과가 나옵니다.
이것을 안쪽을 뜯어보면
_Self& operator++() _GLIBCXX_NOEXCEPT //전위증가
{
_M_node = _M_node->_M_next;
return *this;
}
_Self operator++(int) _GLIBCXX_NOEXCEPT //후위증가
{
_Self __tmp = *this;
_M_node = _M_node->_M_next;
return __tmp;
}
로 후위증가를 할 경우 값을 저장하기 위해 tmp변수와 복사 연산이 발생하게 됩니다.
따라서 전위증가가 더 효율적 이라고 합니다.
3. Ref
for문 증감문에 전위연산자와 후위연산자의 차이
C언어를 공부하면서 처음 C를 배웠을 경우 for문에서 사용할 때 for(int i=0; i
doo9713.tistory.com
[C/C++] for문에서 전위증가 후위증가 차이점
나의 경우 주로 for문에서 후위증가를 사용했었고 타인의 코드를 볼 때 전위증가를 사용하는 사람이 있으면 그냥 스타일 차이인가 보다 하고 넘겼었는데 갑자기 궁금해져서 찾아보게 되었다. 전
d-yong.tistory.com
'개발자 면접 공부 > C-C++' 카테고리의 다른 글
Volatile (0) | 2024.04.29 |
---|---|
네임 맹글링 (0) | 2024.04.14 |
NULL 포인터로 객체의 함수가 왜 호출되냐? (0) | 2024.03.26 |
VTable 위치 파악 (0) | 2024.03.25 |
초기화자 리스트(intializer_list) (0) | 2024.03.08 |