Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 deque::operator=및 deque::operator[]

<시간/>

이 기사에서는 C++ STL에서 deque::operator=및 deque::operator[]의 작동, 구문 및 예제에 대해 논의할 것입니다.

데크가 무엇인가요?

Deque는 양쪽 끝에서 확장 및 축소 기능을 제공하는 시퀀스 컨테이너인 Double Ended Queues입니다. 큐 데이터 구조는 사용자가 END에만 데이터를 삽입하고 FRONT에서 데이터를 삭제할 수 있도록 합니다. 사람이 END에서만 대기열에 삽입될 수 있고 FRONT에 서 있는 사람이 가장 먼저 제거되는 반면 Double Ended 대기열에서는 데이터의 삽입 및 삭제가 양쪽에서 모두 가능한 버스 정류장의 대기열을 비유해 보겠습니다. 끝.

deque::operator =란 무엇입니까?

deque::operator =는 기존 값을 대체하여 deque 컨테이너에 새 값을 할당하는 데 사용됩니다. 이 연산자는 또한 새 값에 따라 데크 컨테이너의 크기를 수정합니다.

구문

mydeque1 = mydeque2;

동일한 유형의 다른 deque 컨테이너가 필요합니다.

반환 값

연산자는 데이터를 할당하려는 데크 컨테이너의 *this 포인터를 반환합니다.

예시

Input: deque<int> odd = {1, 3, 5, 7};
   Deque<int> eve = {2, 4, 6};
   odd = eve;
Output:
   Odd: 2, 4, 6
   Eve: 2, 4, 6

예시

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> Deque_1 = { 10, 20, 30 };
   deque<int> Deque_2 = { 30, 20, 10 };
   deque<int> Deque_3 = {};
   //it will swap the elements of both the deque
   Deque_3 = Deque_2;
   Deque_2 = Deque_1;
   Deque_1 = Deque_3;
   cout<<"Elements in Deque_1 are: ";
   for (auto i = Deque_1.begin(); i!= Deque_1.end(); ++i)
      cout << ' ' << *i;
   cout<<"\nElements in Deque_2 are: ";
   for (auto i = Deque_2.begin(); i!= Deque_2.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Elements in Deque_1 are: 30, 20, 10
Elements in Deque_2 are: 10 20 30

deque::operator []란 무엇입니까?

deque::operator []는 지정된 위치의 요소에 액세스하는 데 사용됩니다. 이 연산자는 []의 지정된 위치에 있는 요소에 대한 참조를 반환합니다. 이것은 deque::at()와 비슷한 방식으로 작동합니다. 컨테이너 밖에 있는 요소 위치를 요청할 때 연산자는 out_of_range 예외를 던집니다. 처음에 deque 컨테이너의 위치는 0으로 시작합니다.

구문

mydeque[postion];

가져오려는 위치가 필요합니다.

반환 값

이 연산자는 지정된 위치에 있는 요소의 직접 참조를 반환합니다.

예시

Input: deque<int> mydeque = {1, 2, 3, 4, 5, 6};
   mydeque[2];
Output:
   3

예시

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> Deque = {10, 20, 30, 40, 50};
   cout<<"Elements are : ";
   for (int i = 0; i < Deque.size(); ++i){
      if (i % 2 != 0){
         cout << Deque[i];
         cout << " ";
      }
   }
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Elements are : 20 40