이 기사에서 우리는 C++에서 list::clear() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
STL의 목록이란 무엇입니까?
목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 데이터 구조입니다. 목록은 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은 forward_list와 비슷하지만 순방향 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.
clea()란 무엇입니까?
list::clear()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. list::clear(), 전체 목록을 지웁니다. 즉, clear()는 목록 컨테이너에 있는 모든 요소를 제거하고 컨테이너를 크기 0으로 둡니다.
구문
list_name.clear();
이 함수는 매개변수를 허용하지 않습니다.
반환 가치
이 함수는 아무 것도 반환하지 않고 컨테이너에서 모든 요소를 제거합니다.
예시
아래 코드에서는 요소를 목록에 삽입한 다음 clear 함수를 적용하여 전체 목록을 비워 비게 만듭니다.
#include <iostream> #include <list> using namespace std; int main(){ list<int> myList = { 10, 20, 30, 40, 50 }; cout<<"List before applying clear() function"; for (auto i = myList.begin(); i != myList.end(); ++i) cout << ' ' << *i; //applying clear() function to clear the list myList.clear(); for (auto i = myList.begin(); i!= myList.end(); ++i) cout << ' ' << *i; cout<<"\nlist is cleared "; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
List before applying clear() function 10 20 30 40 50 list is cleared
예시
아래 코드에서는 clear() 함수를 사용하여 전체 목록을 지운 다음 새 요소를 목록에 다시 삽입하고 동일한 내용을 표시합니다.
#include <iostream> #include <list> using namespace std; int main (){ list<int> myList; std::list<int>::iterator i; myList.push_back (10); myList.push_back (20); myList.push_back (30); cout<<"List before applying clear() function"; for (auto i = myList.begin(); i != myList.end(); ++i) cout << ' ' << *i; myList.clear(); for (auto i = myList.begin(); i!= myList.end(); ++i) cout << ' ' << *i; cout<<"\nlist is cleared "; myList.push_back (60); myList.push_back (70); cout<<"\nelements in my list are: "; for (auto i=myList.begin(); i!=myList.end(); ++i) cout<< ' ' << *i; return 0; }
위의 코드를 실행하면 다음 출력이 생성됩니다.
List before applying clear() function 10 20 30 40 50 list is cleared Elements in my list are : 60 70