练习9.18 练习9.19 练习9.20 练习9.21 练习9.22 一个是该循环是个死循环,iter永远不会不等于mid,第二点很重要,自己在做题时有遗漏,向一个vector、string、deque插入元素会使所有指向容器的迭代器、引用和指针失效。 ...
分类:
编程语言 时间:
2017-08-10 15:38:11
阅读次数:
300
C++ Primer 学习中。。。 简单记录下我的学习过程 (代码为主) //全部容器适用(O(log(n))) 已序区间查找算法 lower_bound() //找第一个符合的元素,返回位置迭代器 upper_bound() //找最后一个符合的元素。返回位置迭代器 equal_range() / ...
分类:
编程语言 时间:
2017-08-10 13:30:39
阅读次数:
178
类的静态成员和类直接相关,不是与类的各个对象保持关联。对象共享,静态成员函数不能用const来修饰。没有this指针 static关键字类内部的声明语句中 forward_list定义了一个首前迭代器before_begin() 想法挺好 string::npos 是unsigned int 类型的 ...
分类:
其他好文 时间:
2017-08-09 22:22:05
阅读次数:
132
练习9.15 练习9.16 网上答案利用拷贝初始化在进行同类型容器同类型元素的比较,个人觉得比我的好。 练习9.17 c1和c2的容器类型必须相同,且容器中的元素类型也必须相同,还有容器中的元素类型必须要定义了相应的比较运算符 ...
分类:
编程语言 时间:
2017-08-09 22:18:05
阅读次数:
209
练习9.11 练习9.12 接受两个迭代器的拷贝构造函数可以将一个容器内的子序列进行拷贝,而接收一个容器创建其拷贝的构造函数拷贝的是整个容器所有的元素。 而且为了创建一个容器为另外一个容器的拷贝,两个容器的类型及其元素类型必须匹配,当传递迭代器参数来拷贝一个范围时,就不要求容器类型是相同的了,新容器 ...
分类:
编程语言 时间:
2017-08-09 21:22:36
阅读次数:
188
练习9.9 begin函数返回的是iterator,而cbegin函数返回的是const_iterator,当不需要写访问时,应使用cbegin。 练习9.10 v1是一个元素都是int型的vecor容器; v2是一个元素都是整形常量的vector容器; it1是vector<int> ::iter ...
分类:
编程语言 时间:
2017-08-09 21:14:37
阅读次数:
153
练习9.3 迭代器begin和end必须指向相同的容器,end可以与begin指向相同的位置,但不能指向begin之前的位置; 练习9.4 练习9.5 利用抛出异常的方法来处理未找到定值的情况; 练习9.6 迭代器支持的算术运算不能用于list容器,因为list容器不是按照顺序存储的,他是个双向链表 ...
分类:
编程语言 时间:
2017-08-09 18:34:37
阅读次数:
110
练习8.13 练习8.14 一个是避免拷贝,造成效率不高,第二是防止值被修改 ...
分类:
编程语言 时间:
2017-08-09 15:25:52
阅读次数:
233
练习7.53 练习7.54 不应该,因为set_需要将需要的数据成员设置成别的值,因此,不能声明成constexpr 练习7.55 不是,因为string不是一个字面值常量类。 ...
分类:
编程语言 时间:
2017-08-08 13:54:38
阅读次数:
153