C++primer 10.2.1節練習

來源:互聯網
上載者:User

標籤:eric   str   ack   prime   code   int   using   字元   編譯器   

練習10.3

 1 #include<iostream> 2 #include<string> 3 #include<vector> 4 #include <stack> 5 #include <algorithm> 6 #include <numeric> 7 #include <list> 8  9 using namespace std;10 11 12 int main()13 {14     vector<int> vec{ 1,2,3,4,5,6,7,8,9,10 };15     int val = 0;16     auto num = accumulate(vec.cbegin(), vec.cend(), val);17     cout << num << endl;18     system("pause");19     return 0;20 }

練習10.4

最後返回的值精度會丟失,但編譯器不會提示有錯誤,因為accumulate的第三個參數的類型決定了函數中使用哪個加法運算子一級傳回值的類型;

練習10.5

如果寫成 char * 會發出警告,表示字串可以修改,而例子中的字串不允許修改,更好的方法是寫成const char *; 

 1 #include<iostream> 2 #include<string> 3 #include <iostream> 4 #include <string> 5 #include <vector> 6 #include <algorithm> 7 using namespace std; 8  9 int main()10 {11     const char *s1 = "good";12     const char *s2 = "boy";13     vector<const char *> roster1, roster2;14     roster1.push_back(s1);15     roster1.push_back(s2);16     roster2.push_back(s1);17     roster2.push_back(s2);18 19     bool flag = equal(roster1.cbegin(), roster1.cend(), roster2.cbegin());20 21     if (true == flag)22         cout << "same..." << endl;23     else24         cout << "not same..." << endl;25     system("pause");26     return 0;27 }

 

C++primer 10.2.1節練習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.