日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

顺序容器赋值运算

發(fā)布時(shí)間:2024/4/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 顺序容器赋值运算 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、迭代器賦值(obj.assign(s.begin(),s.end()))

功能:利用順序容器s的迭代器s.begin()和s.end()給obj賦值.

#include <iostream> #include <string> #include <vector> #include <deque> #include <list> #include <forward_list> #include <string> #include <array> using namespace std; #define LENGTH 10 typedef int TYPE; typedef vector<TYPE> VECTORTYPE; typedef deque<TYPE> DEQUETYPE; typedef list<TYPE> LISTTYPE; typedef forward_list<TYPE> FORWARD_LISTTYPE; typedef array<TYPE,LENGTH> ARRAYTYPE; void print(VECTORTYPE & ); void print(DEQUETYPE & ); void print(LISTTYPE & ); void print(FORWARD_LISTTYPE & ); void print(ARRAYTYPE & ); void print(string &);int main() {vector<int> v_int = {1,2,3,4,5,6,7,8,9},v_int1,v_int2,v_int3,v_int4,v_int5,v_int6;deque<int> d_int = {11,12,13,14,15,16,17,18,19},d_int1,d_int2,d_int3,d_int4,d_int5;list<int> l_int = {21,22,23,24,25,26,27,28},l_int1;forward_list<int> for_int = {31,32,33,34,35,36,37,38},for_int1;array<int,LENGTH> a_int = {41,42,43,44,45,46},a_int1,a_int2,a_int3,a_int4,a_int5,a_int6;string s_int{"12345678"},s_int1;d_int1.assign(v_int.begin(),v_int.end());s_int1.assign(s_int.begin(),s_int.end());print(s_int1);d_int1.assign({111,222,333,444,555});//according to the object order of vector\deque\list\forward_list\array\string//vector object can use all the other object(list,forward_list,deque,array) to assign value.f.g:v_int1.assign(d_int.begin(),d_int.end());v_int2.assign(l_int.begin(),l_int.end());v_int3.assign(for_int.begin(),for_int.end());v_int4.assign(a_int.begin(),a_int.end());print(v_int1);print(v_int2);print(v_int3);print(v_int4);print(v_int5);d_int1.assign(v_int.begin(),v_int.end());d_int2.assign(d_int.begin(),d_int.end());d_int3.assign(l_int.begin(),l_int.end());d_int4.assign(for_int.begin(),for_int.end());d_int5.assign(a_int.begin(),a_int.end());print(d_int1);print(d_int2);print(d_int3);print(d_int4);print(d_int5);// a_int1.assign(v_int);錯(cuò)誤,array對(duì)象不能調(diào)用assign函數(shù),但是array對(duì)象可以通過(guò)迭代器給 //其它非array對(duì)象通過(guò)assign對(duì)象賦值 // a_int2.assing(d_int);同上 // a_int3.assign(l_int);同上 // a_int4.assign(for_int);同上 // a_int5.assign(a_int);同上 // print(a_int1); // print(a_int2); // print(a_int3); // print(a_int4); // print(a_int5);l_int1.assign(v_int.begin(),v_int.end());l_int2.assign(d_int.begin(),d_int.end());l_int3.assign(l_int.begin(),l_int.end());l_int4.assign(for_int.begin(),for_int.end());l_int5.assign(a_int.begin(),a_int.end());l_int6.assign(s_int.begin(),s_int.end());//這里的s_int是string對(duì)象,string對(duì)象的元素是字符,會(huì)轉(zhuǎn)化成int,請(qǐng)務(wù)必注意cout << " list 's assign" << endl;print(l_int1);print(l_int2);print(l_int3);print(l_int4);print(l_int5);for_int1.assign(v_int.begin(),v_int.end());for_int2.assign(d_int.begin(),d_int.end());for_int3.assign(l_int.begin(),l_int.end());for_int4.assign(for_int.begin(),for_int.end());for_int5.assign(a_int.begin(),a_int.end());for_int6.assign(s_int.begin(),s_int.end());print(for_int1);print(for_int2);print(for_int3);print(for_int4);print(for_int5);print(for_int6);//string objects_int1.assign(v_int.begin(),v_int.end());s_int2.assign(d_int.begin(),d_int.end());s_int3.assign(l_int.begin(),l_int.end());s_int4.assign(for_int.begin(),for_int.end());s_int5.assign(a_int.begin(),a_int.end());cout << "begin to print string object." << endl;print(s_int1);print(s_int2);print(s_int3);print(s_int4);print(s_int5);cout <<char(49) << endl;cout << char(50) << endlcout << "last one" << endl;cout << "s_int ' value is:" << s_int << endl;print(l_int6);return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(DEQUETYPE &vec) {for(DEQUETYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(LISTTYPE &vec) {for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(FORWARD_LISTTYPE &vec) {for(FORWARD_LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(ARRAYTYPE &vec) {for(ARRAYTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(string & s_vec) {for(string::iterator i = s_vec.begin(); i != s_vec.end() ; ++i) {cout << *i << " ";}cout << endl; }

結(jié)論:

1.a_int1.assign(v_int);//這里a_int1是個(gè)array對(duì)象

錯(cuò)誤,array對(duì)象不能調(diào)用assign函數(shù),但是array對(duì)象可以通過(guò)迭代器給其它非array對(duì)象通過(guò)assign對(duì)象賦值
例如:array_object.assign(some_object);//錯(cuò)誤,array對(duì)象沒有assign這個(gè)成員函數(shù)
2. l_int6.assign(s_int.begin(),s_int.end());//這里的s_int是string對(duì)象,string對(duì)象的元素是字符,會(huì)轉(zhuǎn)化成int,請(qǐng)務(wù)必注意

3.string對(duì)象和其它對(duì)象都可以調(diào)用assign利用迭代器進(jìn)行給對(duì)方賦值。但是結(jié)果是元素類型之間的轉(zhuǎn)化。string對(duì)象的元素類型是char,而其它容器的類型,要具體看是什么類型容器。

舉例1:array<int,5>? arr_1{1,2,3,4,5};

? ? ? ? ? ?string s1;

? ? ? ? ? ?s1.assign(arr_1.begin(),arr_1.end());那么結(jié)果會(huì)把1,2,3,4,5轉(zhuǎn)換成字符(char型),給s1賦值。結(jié)果不可顯示。

?舉例2:string s2 = "12345";

? ? ? ? ? ?list<int> list_1;

? ? ? ? ?list_1.assign(s2.begin(),s2.end());那么結(jié)果會(huì)把s2中的元素(char型)1、2、3、4、5轉(zhuǎn)換成int,分別是49,50,51,52,53.

???

二、利用seq.assign(i1)將seq中的元素替換為初始化列表i1中的元素。

#include <iostream> #include <string> #include <vector> #include <deque> #include <list> #include <forward_list> #include <string> #include <array> using namespace std; #define LENGTH 10 typedef int TYPE; typedef vector<TYPE> VECTORTYPE; typedef deque<TYPE> DEQUETYPE; typedef list<TYPE> LISTTYPE; typedef forward_list<TYPE> FORWARD_LISTTYPE; typedef array<TYPE,LENGTH> ARRAYTYPE; void print(VECTORTYPE & ); void print(DEQUETYPE & ); void print(LISTTYPE & ); void print(FORWARD_LISTTYPE & ); void print(ARRAYTYPE & ); void print(string &);int main() {vector<int> v_int{1,2,3,4,5,6},v_int1;deque<int> d_int{1,2,3,4,5,6},d_int1;list<int> l_int{1,2,3,4,5,6},l_int1;forward_list<int> f_int{1,2,3,4,5,6},f_int1;string s1{"12345"},s2;array<int,5> a_int{1,2,3,4,5},a_int1;v_int1.assign({1,2,3,4,5,6});d_int1.assign({1,2,3,4,5});l_int.assign({1,3,4,5,6,7});f_int1.assign({1,2,3,4,5,6});s1.assign("abcdefg");print(v_int1);print(d_int1);print(l_int);print(f_int1);print(s1);return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(DEQUETYPE &vec) {for(DEQUETYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(LISTTYPE &vec) {for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(FORWARD_LISTTYPE &vec) {for(FORWARD_LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(ARRAYTYPE &vec) {for(ARRAYTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(string & s_vec) {for(string::iterator i = s_vec.begin(); i != s_vec.end() ; ++i) {cout << *i << " ";}cout << endl; }

總結(jié):對(duì)于seq.assign({?... });//結(jié)果是用{...}初始化順序容器對(duì)象seq.除了array,其它容器都可以.

3.seq.assign(n,t);//給seq賦值為n個(gè)元素t.t是seq的元素類型.

#include <iostream> #include <string> #include <vector> #include <deque> #include <list> #include <forward_list> #include <string> #include <array> using namespace std; #define LENGTH 10 typedef int TYPE; typedef vector<TYPE> VECTORTYPE; typedef deque<TYPE> DEQUETYPE; typedef list<TYPE> LISTTYPE; typedef forward_list<TYPE> FORWARD_LISTTYPE; typedef array<TYPE,LENGTH> ARRAYTYPE; void print(VECTORTYPE & ); void print(DEQUETYPE & ); void print(LISTTYPE & ); void print(FORWARD_LISTTYPE & ); void print(ARRAYTYPE & ); void print(string &);int main() {vector<int> v_int{1,2,3,4,5,6},v_int1;deque<int> d_int{1,2,3,4,5,6},d_int1;list<int> l_int{1,2,3,4,5,6},l_int1;forward_list<int> f_int{1,2,3,4,5,6},f_int1;string s1{"12345"},s2;array<int,5> a_int{1,2,3,4,5},a_int1;//vectorv_int1.assign(10,5);print(v_int1);//dequed_int1.assign(11,6);print(d_int1);//forward_listf_int1.assign(12,3);print(f_int1);//forward_litf_int1.assign(4,2);print(f_int1);//strings1.assign(10,'a');s1.assign(5,2);print(s1);return 0; } void print(VECTORTYPE &vec) {for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(DEQUETYPE &vec) {for(DEQUETYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(LISTTYPE &vec) {for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(FORWARD_LISTTYPE &vec) {for(FORWARD_LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(ARRAYTYPE &vec) {for(ARRAYTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ; }void print(string & s_vec) {for(string::iterator i = s_vec.begin(); i != s_vec.end() ; ++i) {cout << *i << " ";}cout << endl; }

總結(jié):如果是string對(duì)象,則要注意,string對(duì)象可有把int類型轉(zhuǎn)化過(guò)去。這其中利用了 int -> char 類型轉(zhuǎn)化。比如49轉(zhuǎn)化為1,50轉(zhuǎn)化為2.。。

?

總結(jié)

以上是生活随笔為你收集整理的顺序容器赋值运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91久久精品国产91性色69 | 久久精品国产精品 | 欧美91| 亚洲av无码一区二区二三区软件 | 琪琪色网| 麻豆视频国产 | 超碰在线国产 | 亚洲自拍p | 欧美一区日韩一区 | 亚洲二三区 | 国产在线成人 | 奇米影视777第四色 2019中文字幕在线免费观看 | 国产福利99| 一级片久久久久 | 不卡日韩 | 麻豆av导航 | 一级特黄肉体裸片 | 亚洲一区二区三区在线看 | 久久久久一区二区三区四区 | 亚洲国产日韩欧美一区二区三区 | 无遮挡又爽又刺激的视频 | 北条麻妃一区二区三区 | 亚洲最大成人网站 | 在线免费中文字幕 | 欧美美女性视频 | 欧美黄色一级片视频 | 色哟哟网站在线观看 | 夜夜天堂| 国内精品偷拍视频 | 欧美一区在线视频 | 性视频一区 | 少妇免费毛片久久久久久久久 | 丁香激情婷婷 | 蜜臀久久99精品久久久久久 | 国产100页| 欧美国产二区 | 五月天av网站 | 伊人中文字幕在线观看 | 欧美午夜精品久久久久免费视 | 久久久久久久久一区 | 双性懵懂美人被强制调教 | 岛国av噜噜噜久久久狠狠av | 黄色片免费看 | 神马九九| av在线免播放器 | 一本一道波多野结衣av黑人 | 国产乱码一区二区三区播放 | 欧美日韩精品 | 精品区| 欧美,日韩,国产精品免费观看 | 国产精品久久久精品 | 一级免费看片 | 日韩欧美中文字幕在线视频 | 亚洲人人爽 | 香蕉视频在线视频 | 二级毛片 | 无码一区二区三区免费视频 | 国产主播在线看 | 国产99久久| 人人草人人澡 | 黄色高清在线观看 | 国产视频123 | 日本免费在线视频观看 | 亚洲色图一区二区 | 色香五月 | 天天综合91 | 欧美成视频| 久久久艹 | 亚洲成人激情av | 成人美女免费网站视频 | 99精品黄色 | 国产性猛交96 | 亚洲乱码中文字幕久久孕妇黑人 | 少妇紧身牛仔裤裤啪啪 | 色www| 偷拍一区二区三区四区 | 波多野结衣黄色 | 精品一二区| 久久的色偷偷 | 亚洲成人av免费观看 | av性在线| wwwwxxxx欧美 | 国产成人综合欧美精品久久 | 黄色av软件| 99情趣网| 日本一区二区三区四区视频 | 野花视频在线免费观看 | 可以直接看的毛片 | 国产富婆一级全黄大片 | 少妇精品视频一区二区 | www.成人精品 | 国产精品亚洲lv粉色 | 亚洲美女毛片 | 干爹你真棒插曲mv在线观看 | 91精品影视 | 午夜美女网站 | 日韩网站在线观看 | 欧美激情午夜 | 希岛婚前侵犯中文字幕在线 |