학부생의 무지한 코더임
C++ primer보고 있는데 평가 순서에서

int i = 0;
cout << i << " " << ++i << endl;
와 같은 코드는 i가 먼저 평가되느냐, ++i가 먼저 평가되느냐에 따라 1 1이 될 수도, 0 1이 될 수도 있고
이에 대한 평가 순서는 거의 정해져 있지 않아 미정의이다 라는 내용을 보고 코드를 입력해봤는데

아치리눅스 nvim으로 돌려서 g++로 컴파일과 실행을 몇 번 되풀이 해봤는데 전부 0 1이 나왔음

여기서 좀 궁금해졌는데
평가 순서가 정해져있지 않다는건 규격화된 표준이 없어, 컴파일러마다 다르다 라는거야?
아니면 같은 컴파일러여도 정해진게 거의 없어 컴파일 혹은 실행할 때 마다 다르다 라는거야??

직접 돌렸을 때 전부 0 1이라 전자인가 싶은데 잘못된 이해일까봐 질문해봄
애초에 평가를 컴파일 단계에서 하는게 맞나? 구글링 해봤을 때 컴파일러에 대한 언급이 없는걸 봐서 컴파일러도 관계가 없는건가 싶기도 하고 모르겠다

- dc official App