list::assign (STL Samples)
說明如何使用 list::assign Visual C++ 標準樣板程式庫 (STL) 函式。
void assign(
const_iterator First,
const_iterator Last
);
void assign(
size_type n,
const T& x = T( )
);
iterator erase(
iterator It
);
iterator erase(
iterator First,
iterator Last
); bool empty( ) const;
備註
注意事項 |
---|
在原型中的類別/參數名稱不相符的標頭檔中的版本。某些已修改以提高可讀性。 |
第一個成員函式來取代所控制的序列 *這個序列 [First, Last)。 第二個成員函式來取代所控制的序列 *這個 n 個項目的值的重複使用 x。 第三個成員函式會移除所指的受控制序列的項目它。 第四個成員函式會受控制序列的項目範圍中移除 [First, Last)。 兩者都傳回 iterator,指派第一個以外的任何項目移除,剩餘的項目或結束如果沒有這類項目。 最後一個成員函式會傳回 ,則為 true 為空的受控制序列。
範例
// assign.cpp
// compile with: /EHsc
//
// Shows various ways to assign and erase elements
// from a list<T>.
//
// Functions:
// list::assign
// list::empty
// list::erase
#include <list>
#include <iostream>
using namespace std ;
typedef list<int> LISTINT;
int main()
{
LISTINT listOne;
LISTINT listAnother;
LISTINT::iterator i;
// Add some data
listOne.push_front (2);
listOne.push_front (1);
listOne.push_back (3);
listAnother.push_front(4);
listAnother.assign(listOne.begin(), listOne.end());
// 1 2 3
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.assign(4, 1);
// 1 1 1 1
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.erase(listAnother.begin());
// 1 1 1
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.erase(listAnother.begin(), listAnother.end());
if (listAnother.empty())
cout << "All gone\n";
}
Output
1 2 3
1 1 1 1
1 1 1
All gone
需求
標頭: <list>