raw_storage_iterator::operator=
指派運算子用來實作原始儲存 Iterator 運算式存放的 *i = x 在記憶體中。
raw_storage_iterator<ForwardIterator, Type>& operator=(
const Type& _Val
);
參數
- _Val
型別將插入的 [型別] 物件的值至記憶體。
傳回值
運算子會將 _Val 插入記憶體,然後傳回原始儲存 Iterator 的參考。
備註
ForwardIterator 的要求,說明原始儲存 Iterator 必須滿足要求只運算式 *ii t = 有效,因此,則本身不會如需 operator 或 operator= 。 這些成員運算子傳回 *this。
指派運算子先建構在輸出序列中的下一個物件使用預存的 Iterator 值,藉由評估放置新的運算式 ( newvoid (*)&*first) [型別](_Val)。
範例
// raw_storage_iterator_op_assign.cpp
// compile with: /EHsc
#include <iostream>
#include <iterator>
#include <memory>
#include <list>
using namespace std;
class Int
{
public:
Int( int i )
{
cout << "Constructing " << i << endl;
x = i;
bIsConstructed = true;
};
Int &operator=( int i )
{
if ( !bIsConstructed )
cout << "Not constructed.\n";
cout << "Copying " << i << endl; x = i;
return *this;
};
int x;
private:
bool bIsConstructed;
};
int main( void )
{
Int *pInt = ( Int* )malloc( sizeof( Int ) );
memset( pInt, 0, sizeof( Int ) ); // Set bIsConstructed to false;
*pInt = 5;
raw_storage_iterator<Int*, Int> it( pInt );
*it = 5;
}
需求
標頭: <memory>
命名空間: std