벡터의 크기는 C++의 다른 내장 함수를 사용하여 줄일 수 있습니다. pop_back() 함수가 그 중 하나입니다. 뒤에서 벡터의 마지막 요소를 제거하고 벡터의 크기를 1로 줄이는 데 사용됩니다. 그러나 벡터의 마지막 요소는 erase() 함수처럼 영구적으로 제거되지 않습니다. 이 기능의 다양한 용도는 이 튜토리얼에서 설명했습니다.
통사론:
벡터::팝백();이 함수에는 인수가 없으며 아무 것도 반환하지 않습니다.
전제 조건:
이 튜토리얼의 예제를 확인하기 전에 시스템에 g++ 컴파일러가 설치되어 있는지 확인해야 합니다. Visual Studio Code를 사용하는 경우 필요한 확장을 설치하여 C++ 소스 코드를 컴파일하여 실행 코드를 만듭니다. 여기에서 Visual Studio Code 응용 프로그램은 C++ 코드를 컴파일하고 실행하는 데 사용되었습니다. pop_back() 함수를 사용하여 벡터의 크기를 줄이는 방법은 이 튜토리얼의 다음 부분에 나와 있습니다.
예-1: 벡터에서 여러 요소 제거
pop_back() 함수를 사용하여 벡터의 크기를 줄여 벡터 컨테이너에서 두 요소를 제거하는 다음 코드로 C++ 파일을 만듭니다. 5개의 문자열 값으로 구성된 벡터가 코드에서 선언되었습니다. 여기서 pop_back() 함수는 벡터에서 마지막 두 요소를 일시적으로 제거하고 벡터의 크기를 2로 줄이기 위해 여기에서 두 번 호출되었습니다. 벡터의 내용은 pop_back() 함수를 사용하기 전후에 두 번 인쇄되었습니다.
//필요한 라이브러리 포함
#포함하다
#포함하다
사용 네임스페이스시간;
정수기본() {
//문자열 값의 벡터 선언
벡터<끈>꽃들= {'장미','리티','금잔화','튤립','워터리'};
비용 << '벡터의 값:N';
// 루프를 사용하여 벡터를 반복하여 값을 인쇄합니다.
~을위한(정수NS= 0;NS<꽃들.크기(); ++NS)
비용 <<꽃들[NS] << '';
비용 << 'N';
// 벡터에서 마지막 두 값을 제거합니다.
꽃들.팝백();
꽃들.팝백();
비용 << 'N제거 후 벡터의 값:N';
// 루프를 사용하여 벡터를 반복하여 값을 인쇄합니다.
~을위한(정수NS= 0;NS<꽃들.크기(); ++NS)
비용 <<꽃들[NS] << '';
비용 << 'N';
반품 0;
}
산출:
위의 코드를 실행하면 다음 출력이 나타납니다.
예-2: 다른 벡터에서 새 벡터 만들기
pop_back() 함수를 사용하여 요소를 제거하여 다른 벡터의 빈 벡터에 특정 값을 삽입하는 다음 코드로 C++ 파일을 만듭니다. 8개의 정수로 구성된 벡터와 정수 유형의 빈 벡터가 코드에서 선언되었습니다. 'while' 루프는 첫 번째 벡터의 각 요소를 반복하고 숫자가 2로 나누어 떨어지는 경우 요소를 새 벡터에 삽입하는 데 사용되었습니다. 모든 짝수의 합도 여기에서 계산되었습니다. 루프의 종료 조건에 도달하기 위해 루프의 각 반복에서 첫 번째 벡터의 각 요소는 pop_back() 함수에 의해 제거됩니다.
//필요한 라이브러리 포함#포함하다
#포함하다
사용 네임스페이스시간;
정수기본()
{
//정수 데이터의 벡터 선언
벡터<정수>정수 벡터{ 5,9,4,7,2,8,1,삼 };
//빈 벡터 선언
벡터<정수>새로운 벡터;
비용 << '원래 벡터의 값:N';
// 루프를 사용하여 벡터를 반복하여 값을 인쇄합니다.
~을위한(정수NS= 0;NS<벡터크기(); ++NS)
비용 <<정수 벡터[NS] << '';
비용 << 'N';
//결과 초기화
정수결과= 0;
//벡터가 비워질 때까지 루프를 반복합니다.
동안(!벡터비어있는())
{
/ *
newVector에 삽입할 짝수 찾기
짝수의 합을 계산하고
* /
만약 (벡터뒤() % 2 == 0)
{
결과+=벡터뒤();
새로운 벡터.푸시백(벡터뒤());
}
// intVactor 끝에서 요소 제거
벡터팝백();
}
비용 << '새 벡터의 값:N';
// 루프를 사용하여 벡터를 반복하여 값을 인쇄합니다.
~을위한(정수NS= 0;NS<새로운 벡터.크기(); ++NS)
비용 <<새로운 벡터[NS] << '';
비용 << 'N';
비용 << '모든 짝수의 합 : ' <<결과<< 'N';
반품 0;
}
산출:
위의 코드를 실행하면 다음 출력이 나타납니다. 첫 번째 벡터에는 세 개의 짝수가 있었습니다. 8, 2, 4가 있습니다.
예-3: 벡터의 마지막 요소가 제거되었는지 확인
pop_back()은 벡터에서 요소를 영구적으로 제거하지 않고 벡터의 크기만 줄여 요소를 제거한다고 앞서 언급했습니다. 따라서 제거된 요소는 벡터의 크기가 증가하고 요소를 다른 요소로 대체할 때까지 동일한 위치에 유지됩니다. 다음 코드로 C++ 파일을 생성하여 pop_back() 함수에 의해 제거된 요소의 존재 여부를 확인합니다. pop_back() 함수를 사용하기 전과 후에 원본 벡터의 마지막 위치가 인쇄되었습니다.
#포함하다#포함하다
사용 네임스페이스시간;
정수기본()
{
//정수 데이터의 벡터 선언
벡터<정수>정수 벡터{ 54,19,46,72,22,83,10,53 };
//빈 벡터 선언
벡터<정수>새로운 벡터;
//정수 변수 선언
정수길이;
//벡터의 크기에 따라 마지막 요소를 인쇄합니다.
길이=벡터크기();
비용 << '벡터의 현재 크기:' <<길이<< 'N';
비용 << '제거 전 벡터의 마지막 값:' <<정수 벡터[길이-1] << 'N';
//벡터 끝에서 요소 제거
벡터팝백();
//제거 후 벡터의 크기를 기준으로 마지막 요소를 인쇄합니다.
길이=벡터크기();
비용 << '벡터의 현재 크기:' <<길이<< 'N';
비용 << '제거 후 벡터의 마지막 값:' <<정수 벡터[길이] << 'N';
반품 0;
}
산출:
위의 코드를 실행하면 다음 출력이 나타납니다. 출력은 벡터의 크기가 1만큼 줄어든 것으로 표시되지만 원래 벡터의 마지막 위치에 있는 요소는 여전히 존재합니다.
결론:
이 튜토리얼에서는 간단한 예제를 사용하여 pop_back() 함수의 세 가지 다른 용도를 설명했습니다. 이 기능을 사용하는 주요 목적은 이 튜토리얼의 예제를 연습한 후에 독자를 위해 지워질 것입니다.