第九章 9 2 7節練習

2021-06-23 07:58:06 字數 1071 閱讀 4625

練習 9.15:

編寫程式,判定兩個vector是否相等。

解答:

#include #include using namespace std;

int main() ;

vectoriv1(iv_o.begin(), iv_o.end());

vectoriv2(iv_o.begin() + 1, iv_o.end());

cout << (iv_o == iv1? "the same vector":"the different vectors") << endl;

cout << (iv_o == iv2? "the same vector":"the different vectors") << endl;

}

練習9.16:

重寫上一題的程式,比較乙個list中的元素和乙個vector中的元素。

解答:

#include #include #include using namespace std;

bool mycompare(vector& iv, list& il)

} return true;

}int main() ;

listil1(iv_o.begin(), iv_o.end());

listil2(iv_o.begin() + 1, iv_o.end());

cout << (mycompare(iv_o, il1)? "the same elements":"the different elements") << endl;

cout << (mycompare(iv_o, il2)? "the same elements":"the different elements") << endl;

}

練習9.17:

假定c1和c2是兩個容器,下面的比較操作有何限制(如果有的話)?

if(c1 < c2) /* ... */

解答:【引用】關係運算子左右兩邊的運算物件必須是相同型別的容器,且必須儲存相同型別的元素。

第九章 9 2 1節練習

練習 9.3 構成迭代器範圍的迭代器有何限制?解答 這裡首先要清楚什麼是迭代器範圍 引用 乙個迭代器範圍 iterator range 由一對迭代器表示,兩個迭代器分別指向同乙個容器中的元素或者是尾元素之後的位置 one past the last element 再去 限制 引用 對構成範圍迭代器...

第九章 9 3 6節練習

練習9.31 第316也中刪除偶數值的元素並複製技術值元素的程式不能用於list或forward list。為什麼?修改程式,使之也能用於這些型別。解答 首先,316頁中的程式主要做的是插入和刪除操作,這個操作對於鍊錶容器來說不影響其迭代器和指標。不過,插入和刪除操作會讓其他容器的迭代器指標失效。所...

第九章 9 4節練習

練習9.35 解釋乙個vector的capacity和size有何區別。解答 引用 容器的size是指它已經儲存的元素數目 而capactiy則是在不分配新的記憶體空間的前提下最多可以儲存多少元素。練習9.36 乙個容器的capacity可能小於他的size嗎?解答 從定義上來說,這個是不可能的。練...