tie()를 활용해 튜플을 만들고 그 튜플속 각각의 원소에 할당하는 방법.

이 형태의 코드에서 tie(curX,curY,curZ)=cur; 이 형태의 쓰임에서 tie가 무엇을 의미하는지,

그리고 tie(curX,curY,curz)=cur; 형태가 어떤 연산을 하는것인지 몰라서 검색도 해보고 고민도 해보았다.

 일단은 아래 tie라는 부분에 대해서 검색해본 내용을 첨부하면, 

이렇게 tie()함수를 사용하여서 튜플로 묶인 변수 'cur'의 값을 각각 변수 curX, curY, curZ 에 할당하는 부분이라고 나오는데, 

tie()로 세 원소를 묶어서 튜플로 만들고, cur의 경우는 auto cur=Q.front();를 통해서 튜플로 처음에 push 해준 초기 값들의 튜플값을 cur이라는 곳에 복사해서 넣는걸 의미하니까, 

이 각각의 원소들을 tie를 통해 묶어서 하나로 표현한 튜플에 대입해주는 연산이고, 

그런 과정을 통해서 cur의 튜플의 각 원소에 대한 연산을 curX, curY, curZ로 나누어서 실행시키겠다는 의미로 이 코드를 작성한것으로 보인다. 

 현재까지는 주로 2차원 배열에서의 문제들을 풀다보니까 tuple을 많이 다룰 일도, 그리고 tie()를 사용할 일도 없었는데, 

만약 또 3차원 배열에서의 문제가 나와서 접근해야 한다면, tie()함수의 사용하여서 각각의 인자에 대한 대입을 통해서 각 원소에 대한 처리를 해줄 수 있는 방법이 이렇게 된다는것을 떠올려보도록 하자. 

 

  Comments,     Trackbacks