헤더파일에서 정의된 list::end()가 리스트 마지막의 다음을 나타내는 반복자를 리턴한다고 알고있는데

그럼 거기다 begin()으로 할당하면 원형링크드리스트가 되는거 아닌가요? 근데 저거 컴파일해서 돌려보니까
마지막 다음에 쓰레기값 출력되고 그다음에 다시 1부터 시작되는데 왜 이렇게 되는지좀 가르쳐주세요...

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

#include<iostream>
#include<list>


using namespace std;

int main(void)
{
   list<int> my_list;
   int N;
   cin >> N;
  
   for(int i=1; i<=N; ++i)
      my_list.push_back(i);
     
   list<int>::iterator iter = my_list.begin();  
   my_list.end() = my_list.begin();

  
   for(int i=0; i<3*N; ++i){
      cout << *iter << ' ';
      iter++;
      //if(iter == my_list.end()) iter = my_list.begin();
   }
   return 0;
}

- dc official App