首页 > 代码库 > c++ primer 6.2.3节练习答案

c++ primer 6.2.3节练习答案

练习6.16

1     bool is_empty(const string &s) { return s.empty(); }

练习6.17

 1 bool have_upper(const string &s)
 2 {
 3     for (auto c : s)
 4     {
 5         if (isupper(c))
 6             return true;
 7     }
 8     return false;
 9 }
10 
11 void to_lower(string &s)
12 {
13     for (auto &c : s)
14     {
15         if (isupper(c))
16             c = tolower(c);
17     }
18 }
19 
20 int main()
21 {
22     string str{ "Hello World" };
23     bool a = have_upper(str);
24     cout << a << endl;
25     to_lower(str);
26     cout << str << endl;
27     system("pause");
28     return 0;
29 }

不一样,因为一个不需要修改s的值,而另外一个需要修改s的值;

练习6.18

a)bool compare (const matrix &a, const matrix &b);

比较两个mitrix类型的大小;

b)vector<int>::iterator change_val (const int i, vector<int>::iterator &j);

将i的值赋给迭代器中的元素;

练习6.19

a)多了一个实参

b)正确

c)正确,66会自动转为double型

d)正确,最后一个数向下转为int型

练习6.20

当被绑定的对象我们不需要对它或者不能对它进行修改的时候,形参应该是常量引用。如果设为普通引用,则一旦改动这个形参,被绑定的对象也会一起改动,造成的后果无法预计。

c++ primer 6.2.3节练习答案