練習11.17:假定c是乙個string的multiset,v是乙個string的vector,解釋下面的呼叫。指出每個呼叫是否合法。
copy(v.begin(),v.end(),inserter(c,c.end()));//正確
copy(v.begin(),v.end(),back_inserter(c)); //錯誤 multiset沒有push_back這個操作,尾插法不適合
copy(c.begin(),c.end(),inserter(v,v.end()));//正確
copy(c.begin(),c.end(),back_inserter(v));//正確
/*
*c++primer(第五版)
*練習11.17
*2015/10/8
*問題描述:
練習11.17:假定c是乙個string的multiset,v是乙個string的vector,解釋下面的呼叫。指出每個呼叫是否合法。
copy(v.begin(),v.end(),inserter(c,c.end()));
copy(v.begin(),v.end(),back_inserter(c));
copy(c.begin(),c.end(),inserter(v,v.end()));
copy(c.begin(),c.end(),back_inserter(v));
*說明:為了看效果,需要把注釋的乙個乙個去掉,單獨看一句copy
*/#include
#include
#include
#include
#include
using
namespace
std;
int main()
; vector
v = ;
copy(v.begin(),v.end(),inserter(c,c.end()));//正確
//copy(v.begin(),v.end(),back_inserter(c)); //錯誤 multiset沒有push_back這個操作,尾插法不適合
//copy(c.begin(),c.end(),inserter(v,v.end()));//正確
//copy(c.begin(),c.end(),back_inserter(v));//正確
for(vector
::iterator it = v.begin(); it != v.end(); ++it)
cout
<< *it << " ";
cout
<< endl;
for(multiset
::iterator it = c.begin(); it != c.end(); ++it)
cout
<< *it << " ";
cout
<< endl;
return
0;}
C Primer第五版 練習11 33
練習11.33 實現你自己版本的單詞轉換程式。c primer第五版 練習11.33 2015 10 14 問題描述 練習11.33 實現你自己版本的單詞轉換程式。說明 把書上的程式自己再敲了一遍 include include include include include include usi...
c primer第五版練習17 39
其次,在vsstdio上和cfree上相同程式執行結果不同,可能由於seek定位不準確,在windows下每行結尾是回車 換行,linux下只有換行,估計vsstdio中也只有換行沒有回車。include include include using namespace std intmain str...
C Primer第五版 2 4 3節練習
練習2.30 對於下面的這些語句,請說明物件被宣告成了頂層const還是底層const?const int v2 0 v2的值不能被改變,所以這是乙個頂層const int v1 v2 int p1 v1,r1 v1 const int p2 v2 p2存放的是v2的位址,不能間接改變v2的值,但p...