assign(),应该属于赋值 std::deque<int> di{1,2,3,4,5}; std::cout<<"at first "<<std::endl; std::cout<<"di= "; for(int i:di) std::cout<<i<<" "; std::cout<<std::endl; std::vector<int> vi{10,20,30}; di.assign(vi.begin(),vi.end()); std::cout<<"after di.assign(vi.begin(),vi.end()) "<<std::endl; std::cout<<"di= "; for(int i:di) std::cout<<i<<" "; std::cout<<std::endl; vi[0] = 100;vi[1] = 200; std::cout<<"3333333 "<<std::endl; std::cout<<"di= "; for(int i:di) std::cout<<i<<" "; std::cout<<std::endl;
输出:
at first
di= 1 2 3 4 5
after di.assign(vi.begin(),vi.end())
di= 10 20 30
3333333
di= 10 20 30