1. ホーム
  2. c++

STLにおけるVectorのassign()関数の使用法

2022-02-20 20:22:33
<パス

ベクターで最初に触れる関数はassign()です。

関数のプロトタイプは
1:void assign(const_iterator first,const_iterator last);
2:void assign(size_type n,const T& x = T());

1つ目はコピー関数と同等で、呼び出し元に最初と最後の値を代入します; (区間の閉鎖に注意)
2つ目は、呼び出し元にn個のxを割り当てる。

#include

#include

using namespace std;

int main()
{
	vector<int>ls;
	vector<int>ls1;

	for(int i=0; i<20; ++i)
	{
		ls.push_back(i);
	}
	vector<int>::iterator lr = ls.begin();
	for(; lr ! = ls.end(); ++lr)
	{
		cout<<*lr<<" ";
	}
	cout<<endl;
	ls1.assign(ls.begin(),ls.begin()+9);

	for(lr = ls1.begin(); lr ! =ls1.end(); ++lr)
	{
		cout<<*lr<<" ";
	}
	cout<<endl;
	
	ls.assign(10,7);
	for(lr = ls.begin(); lr ! =ls.end(); ++lr)
	{
		cout<<*lr<<" ";
	}
	cout<<endl;
	return 0;
}


出力結果です。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0 1 2 3 4 5 6 7 8
7 7 7 7 7 7 7 7 7 7 7 7 7
続行するにはいずれかのキーを押してください。. .