logo

C++에서 페어링

다양한 데이터 종류를 가질 수 있는 두 값을 결합하는 데 사용되는 용어입니다. 두 개의 서로 다른 개체를 저장소에 함께 보관하는 기술을 제공합니다. 기본적으로 우리는 이를 저장하는 데 사용합니다. 튜플 . 쌍 컨테이너는 헤더에 지정되고 두 개의 데이터 요소 또는 개체를 포함하는 간단한 컨테이너입니다.

  • 순서는 고정되어 있으며 첫 번째 요소는 다음과 같습니다. '첫 번째' 그리고 두 번째는 '두 번째'(첫 번째, 두 번째) .
  • 가능하다 할당, 복사 및 비교 한 쌍. 맵이나 해시 맵에 할당된 객체 배열은 기본적으로 다음 유형입니다. '쌍' , 즉 모든 '첫 번째' 구성 요소는 개체에 연결된 고유한 키입니다. '두번째'
  • 우리는 변수 이름, 점 연산자, 첫 번째 또는 두 번째 단어 , 그리고 요소 우리는 액세스하고 싶습니다.

C++의 쌍 구문:

 pair Pair_name 

예:

C++로 작성된 쌍 프로그램입니다.

자바스크립트 트림
 #include #include using namespace std; int main() { pair PAIR1; PAIR1.first = 200; PAIR1.second = 'J'; cout << PAIR1.first << ' '; cout << PAIR1.second << endl; return 0; } 

산출

 200 J 

쌍 초기화:

쌍을 초기화할 수도 있습니다. 다음 구문을 사용하여 쌍을 초기화할 수 있습니다.

통사론:

 pair (data_type1, data_type2) Pair_name (value1, value2) ; 

쌍 초기화에 대한 다양한 접근 방식:

 pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3); 

메이크 pair() 함수 쌍을 초기화하는 데에도 사용할 수 있습니다.

 g2 = make_pair(1, 'a'); 

쌍 선언 다음 구문을 사용할 수도 있습니다:

 g2 = {1, 'a'}; 

예:

 #include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; } 

산출

 JavaTpoint 2.23 

참고: 쌍의 첫 번째 값이 초기화되지 않으면 자동으로 초기화됩니다.

예:

 #include #include using namespace std; int main() { pair PR1; pair PR2; cout << PR1.first; cout << PR1.second; cout << ' '; cout << PR2.first; cout << PR2.second; return 0; } 

산출

 00 

회원 기능

1) make_pair():

유형을 명시적으로 정의하지 않고도 이 템플릿 함수를 사용하여 값 쌍을 생성할 수 있습니다.

통사론:

 Pair_name = make_pair (value1,value2); 

예:

C 언어의 행렬
 #include #include using namespace std; int main() { pair PAIR1; pair PAIR2('JavaTpoint', 1.23); pair PAIR3; PAIR1.first = 200; PAIR1.second = 'J'; PAIR3 = make_pair('JavaTpoint is super', 4.56); cout << PAIR1.first << ' '; cout << PAIR1.second << endl; cout << PAIR2.first << ' '; cout << PAIR2.second << endl; cout << PAIR3.first << ' '; cout << PAIR3.second << endl; return 0; } 

산출

 200 J JavaTpoint 1.23 JavaTpoint is super 4.56 

2) 교환:

이 기능을 사용하면 두 쌍 개체의 내용이 전환됩니다. 쌍은 동일한 카테고리에 속해야 합니다.

통사론:

 pair1.swap(pair2) ; 

예:

 #include #include using namespace std; int main() { pair pair1 = make_pair('P', 1); pair pair2 = make_pair('Q', 2); cout << 'content before swapping:
 '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; pair1.swap(pair2); cout << '
 content after swapping:
 '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; return 0; } 

산출

 content before swapping: Contents of pair1 = P 1Contents of pair2 = Q 2 content after swapping: Contents of pair1 = Q 2Contents of pair2 = P 1 

3) 넥타이():

이 Tie() 메서드는 튜플 작업과 동일하게 작동합니다. 튜플(또는 이 경우 쌍) 값을 독립 변수로 압축 해제하려면 다음을 생성합니다. 튜플 ~의 l값 해당 매개변수에 대한 포인터입니다. 넥타이에는 두 가지 변형이 있습니다. 하나는 있는 것과 없는 것입니다. '무시하다' , 튜플과 같습니다. 키워드 '무시하다' 특정 튜플 요소가 압축 해제되는 것을 방지합니다.

쌍에는 두 개의 인수만 있지만 튜플에는 수많은 인수가 있을 수 있습니다. 따라서 쌍의 경우 언패킹을 명시적으로 처리해야 합니다.

통사론:

 tie(int &, int &) = pair1; 

예:

 #include using namespace std; int main() { pair pair1 = { 10, 12 }; int p, q; tie(p, q) = pair1; cout << p << ' ' << q << '
'; pair pair2 = { 16, 18 }; tie(p, ignore) = pair2; cout << p << ' ' << q << '
&apos;; pair <int, pair> pair3 = { 16, { 18, &apos;p&apos; } }; int x, y; char z; x = pair3.first; tie(y, z) = pair3.second; cout &lt;&lt; x &lt;&lt; &apos; &apos; &lt;&lt; y &lt;&lt; &apos; &apos; &lt;&lt; z &lt;&lt; &apos;
&apos;; } </int,>

산출

 10 12 16 12 16 18 p