C++ 배열 인덱싱 색다른 표현, 2[a]?

 

아래 코드를 실행하면 어떻게 될까?

#include <iostream>
using namespace std;

int main() 
{
    int a[]={0,1,2};
    
    cout << 2[a] << endl;
    return 0;
}
 

결과는 2가 출력된다

 

보통은 배열 인덱싱을 사용할때 a[2] 이렇게 사용하는데

a는 첫번쨰 요소를 가르키는 포인터, *(a+2)와 동일하게 동작한다

 

사실 2[a]도 똑같다

2[a]는 *(2+a)로 동작하기 때문에 a[2]와 같은 의미를 가진다

 

그러나 코드의 가독성과 유지보수를 고려했을때

실제 코드에선 이런 표현을 사용하지 않는다

 

직관적인 a[2]의 형태로 사용하자

 

'C++' 카테고리의 다른 글

C++ 참조 ( Reference )  (0) 2025.01.14
C++ 포인터 ( Pointer )  (0) 2025.01.14
C++ 공용체 ( Union )  (0) 2025.01.14
C++ 구조체 ( Structure )  (0) 2025.01.14
C++ 헷갈리는 Pointer 와 const와 reference  (0) 2025.01.14
  Comments