assign操作不适用与关联容器和array;

assign的3种赋值操作;

  • 1.seq.assign(b, e);//将seq中的元素替换为迭代器b和e所表示的范围中的元素,迭代器不能指向seq中的元素;assign操作后可将l1内容赋值给l2;
list<char *> l1 = {"a", "an", "the"};
vector<string> l2;
l2.assign(l1.begin(), l1.end());

b和e也可表示子范围的元素

list<char *> l1 = {"a", "an", "the"};
vector<string> l2;
l2.assign(l1.begin(), l1.begin()+1);

 

  • 2.seq.assign(i1);//将seq中元素替换为初始化列表i1中的元素;
string l1 = ("a", "an", "the");
vector<string> l2;
l2.assign(l1);
  • 3.seq.assign(n, t) //将seq中元素替换为n个值为t的元素
vector<string> l2;
l2.assign(10,"hi");

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐