C++primer 9.2.1节练习
生活随笔
收集整理的這篇文章主要介紹了
C++primer 9.2.1节练习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
練習(xí)9.3
迭代器begin和end必須指向相同的容器,end可以與begin指向相同的位置,但不能指向begin之前的位置;
練習(xí)9.4
1 #include <iostream> 2 #include <fstream> 3 #include <sstream> 4 #include <vector> 5 #include <iterator> 6 7 using namespace std; 8 9 bool checkValue(vector<int>::iterator it, vector<int>::iterator it1, int a); 10 11 int main() 12 { 13 vector<int> num{ 1,2,3,4,5,6 }; 14 cout << checkValue(num.begin(), num.end(), 7) << endl; 15 system("pause"); 16 return 0; 17 } 18 19 bool checkValue(vector<int>::iterator it, vector<int>::iterator it1, int a) 20 { 21 while (it != it1) 22 { 23 if (*it == a) 24 return true; 25 else 26 ++(it); 27 } 28 return false; 29 }練習(xí)9.5
1 #include <iostream> 2 #include <fstream> 3 #include <sstream> 4 #include <vector> 5 #include <iterator> 6 7 using namespace std; 8 9 const vector<int>::iterator *checkValue (vector<int>::iterator it, vector<int>::iterator it1, int a); 10 11 int main() 12 { 13 vector<int> num{ 1,2,3,4,5,6 }; 14 cout << (checkValue(num.begin(), num.end(), 7)) << endl; 15 system("pause"); 16 return 0; 17 } 18 19 const vector<int>::iterator *checkValue (vector<int>::iterator it, vector<int>::iterator it1, int a) 20 { 21 while (it != it1) 22 { 23 try 24 { 25 if (*it == a) 26 return ⁢ 27 else 28 ++(it); 29 if (it == it1) 30 throw runtime_error("error"); 31 } 32 catch (runtime_error err) { 33 cout << err.what() << endl; 34 } 35 } 36 return &it1; 37 }利用拋出異常的方法來處理未找到定值的情況;
練習(xí)9.6
迭代器支持的算術(shù)運算不能用于list容器,因為list容器不是按照順序存儲的,他是個雙向鏈表;
改成while(iter1 != iter2)
轉(zhuǎn)載于:https://www.cnblogs.com/wuyinfenghappy/p/7326968.html
總結(jié)
以上是生活随笔為你收集整理的C++primer 9.2.1节练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [拓扑排序/强联通分量] [NOIP20
- 下一篇: 8-9