C++ forward_list::clear() 函式



C++ 的std::forward_list::clear()函式用於擦除 forward_list 中的所有元素。

它透過從 forward_list 中刪除所有元素來銷燬 forward_list,並將 forward_list 的大小設定為零。此函式的返回型別為 void,這意味著它不返回值。

語法

以下是 C++ std::forward_list::clear() 函式的語法:

void clear();

引數

  • 它不接受任何引數。

返回值

此函式不返回值。

示例 1

如果 forward_list 是 int 型別,則 clear() 函式會擦除 forward_list 中的所有元素。

在以下程式中,我們使用 C++ std::forward_list::clear() 函式來擦除當前 forward_list {10, 20, 30, 40, 50} 中的所有元素,並且此函式呼叫後 forward_list 的大小將為零。

#include<iostream>
#include<forward_list>
using namespace std;
int main(){
   //create a forward_list
   forward_list<int> num_list = {10, 20, 30, 40, 50};
   cout<<"The forward_list contents before the clear operation: "<<endl;
   for(int n : num_list) {
      cout<<n<<endl;
   }
   cout<<"The size of the forward_list before clear operation: ";
   int size = distance(num_list.begin(), num_list.end());
   cout<<size<<endl;
   //using the clear() function
   num_list.clear();
   int new_size = distance(num_list.begin(), num_list.end());
   cout<<"The size of forward_list after clear operation: "<<new_size;
}

輸出

以下是上述程式的輸出:

The forward_list contents before the clear operation: 
10
20
30
40
50
The size of the forward_list before clear operation: 5
The size of forward_list after clear operation: 0

示例 2

如果 forward_list 是 char 型別,則此函式會擦除 forward_list 中的所有元素。

以下是 C++ std::forward_list::clear() 函式的另一個示例。在這裡,我們建立一個名為 char_list 的 forward_list(型別為 char),其內容為 {'A', 'B', 'C', 'D', 'E'}。然後,使用 clear() 函式,我們嘗試擦除此 forward_list 中的所有元素。

#include<iostream>
#include<forward_list>
using namespace std;
int main(){
   //create a forward_list
   forward_list<int> char_list = {'A', 'B', 'C', 'D', 'E'};
   cout<<"The forward_list contents before the clear operation: "<<endl;
   for(char c : char_list) {
      cout<<c<<endl;
   }
   cout<<"The size of the forward_list before clear operation: ";
   int size = distance(char_list.begin(), char_list.end());
   cout<<size<<endl;
   //using the clear() function
   char_list.clear();
   int new_size = distance(char_list.begin(), char_list.end());
   cout<<"The size of forward_list after clear operation: "<<new_size;
}

輸出

這將生成以下輸出:

The forward_list contents before the clear operation: 
A
B
C
D
E
The size of the forward_list before clear operation: 5
The size of forward_list after clear operation: 0

示例 3

除了 int 型別和 char 型別 forward_list 元素之外,我們還可以擦除 string 型別 forward_list 元素。

在此示例中,我們建立一個名為 languages 的 forward_list(型別為 string),其內容為 {"Java", "HTML", "CSS", "JavaScript"}。使用 clear() 函式,我們嘗試擦除此 forward_list 中的所有元素。

#include<iostream>
#include<forward_list>
using namespace std;
int main(){
   //create a forward_list
   forward_list<string> languages = {"Java", "HTML", "CSS", "JavaScript"};
   cout<<"The forward_list contents before the clear operation: "<<endl;
   for(string l : languages) {
      cout<<l<<endl;
   }
   cout<<"The size of the forward_list before clear operation: ";
   int size = distance(languages.begin(), languages.end());
   cout<<size<<endl;
   //using the clear() function
   languages.clear();
   int new_size = distance(languages.begin(), languages.end());
   if(new_size == 0) {
      cout<<"The forward_list has no elements and size is: "<<new_size;
   }else{
      cout<<"The forward_list is non_empty and size is: "<<new_size;
   }
}

輸出

上述程式產生以下輸出:

The forward_list contents before the clear operation: 
Java
HTML
CSS
JavaScript
The size of the forward_list before clear operation: 4
The forward_list has no elements and size is: 0
廣告

© . All rights reserved.