C Primer第五版 練習11 17(解答)

2021-07-05 16:12:29 字數 1522 閱讀 6494

練習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...