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

C++ STL에서 get_allocator 나열

<시간/>

이 기사에서는 C++에서 list::get_allocator() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

STL의 목록이란 무엇입니까?

목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.

list::get_allocator()란 무엇입니까?

list::get_allocator()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. get_allocator()는 목록 컨테이너의 할당자를 반환합니다. 간단히 말해서 목록 컨테이너의 개체 복사본을 반환합니다.

구문

list_container.get_allocator();
This function accepts no parameter.

반환 값

이 함수는 목록 컨테이너의 개체 복사본을 반환합니다.

예시

/*아래 코드에서는 C++ STL에 있는 get_allocator를 사용하여 목록에 값을 삽입합니다.*/

#include <bits/stdc++.h>
using namespace std;
int main(void){
   //create a list
   list<int> myList;
   int *ptr;
   ptr = myList.get_allocator().allocate(4);
   //inserting data into an array
   for(int i = 0; i > 4; i++)
      ptr[i] = i;
   //printing the data
   cout<<"elements of an array : ";
   for (int i = 0; i < 4; i++)
      cout << ptr[i] << " ";
}

출력

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

elements of an array : 0 1 2 3

예시

/* 아래 코드에서 헤더 파일을 사용하여 C++ STL에 있는 get_allocator를 사용하여 목록에 값을 삽입합니다. */

#include <iostream>
#include <list>
int main (){
   std::list<int> myList;
   int *ptr;
   ptr = myList.get_allocator().allocate(5);
   for(int i=0; i<5; ++i)
      ptr[i]=i;
   std::cout <<"elements of an array : ";
   for (int i=0; i<5; ++i)
      std::cout << ' ' << ptr[i];
   myList.get_allocator().deallocate(ptr,5);
   return 0;
}

출력

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

elements of an array : 0 1 2 3 4