C++에서 STL 컨테이너를 지우려면 다음 세 가지 방법을 사용할 수 있습니다. 컨테이너의 모든 요소를 직접 지우려면 clear() 메서드를 사용합니다. 컨테이너의 모든 요소를 하나씩 삭제하려면 erasure() 또는 pop_back() 메서드를 사용하십시오. 상태 저장 컨테이너 클래스(예: ShoppingCart)의 경우 사용자 정의 clear() 메서드를 제공하여 내용을 지울 수 있습니다.
C++ STL 컨테이너를 지우는 방법
C++에서 STL(표준 템플릿 라이브러리)은 벡터, 연결된 목록 및 집합과 같은 강력한 컨테이너 클래스를 제공합니다. 이러한 컨테이너는 데이터를 저장하고 관리하도록 설계되었으며 다양한 프로그래밍 시나리오에 유용합니다. 그러나 경우에 따라 컨테이너의 내용물을 비워야 할 수도 있습니다.
1.clear() 컨테이너 메소드
가장 간단하고 직접적인 방법은 clear()
메소드를 사용하는 것입니다. 이 메서드는 컨테이너에서 모든 요소를 제거하여 빈 컨테이너로 만듭니다. clear()
方法。该方法从容器中删除所有元素,使其变为空容器。
#include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 clear() 方法清除容器 numbers.clear(); // 检查容器是否为空 if (numbers.empty()) { std::cout << "容器已清除" << std::endl; } return 0; }
2. 删除所有元素:erase() 或 pop_back()
另一种清除容器内容的方法是删除所有元素。对于向量和链表,可以使用 erase()
方法。它接受一个范围作为参数,并删除指定范围内的所有元素。
对于栈和队列,可以使用 pop_back()
#include <list> int main() { std::list<int> numbers = {1, 2, 3, 4, 5}; // 删除所有元素:erase() 方法 numbers.erase(numbers.begin(), numbers.end()); // 检查容器是否为空 if (numbers.empty()) { std::cout << "容器已清除" << std::endl; } return 0; }
2. 모든 요소 삭제: eras() 또는 pop_back()
컨테이너의 내용을 지우는 또 다른 방법은 모든 요소를 삭제하는 것입니다. 벡터 및 연결 목록의 경우erase()
메서드를 사용할 수 있습니다. 범위를 인수로 받아들이고 지정된 범위 내의 모든 요소를 제거합니다. 스택과 큐의 경우 pop_back()
메서드(컨테이너가 비어 있지 않은 경우)를 사용하여 컨테이너가 빌 때까지 마지막 요소를 제거할 수 있습니다. 🎜#include <vector> class Product { public: std::string name; int quantity; }; class ShoppingCart { public: std::vector<Product> products; // 清除购物车 void clear() { products.clear(); } }; int main() { ShoppingCart cart; // 添加一些产品到购物车 cart.products.push_back({ "苹果", 5 }); cart.products.push_back({ "香蕉", 3 }); // 完成购物,清除购物车 cart.clear(); // 检查购物车是否为空 if (cart.products.empty()) { std::cout << "购物车已清除" << std::endl; } return 0; }
위 내용은 C++ STL 컨테이너를 지우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!