上一页 1 2 3 4 5 6 7 ··· 17 下一页
摘要: 练习14.9 练习14.10 a)将一个Sales_data的对象逐一赋值; b)类型不对,类型无法转换导致输入发生错误,Sales_data对象被重置为初始状态; 练习14.11 有错误,没有给出当输入错误时程序应该给的操作,当输入上面一题b中的数据时,程序会出错; 练习14.12 类似第一题 阅读全文
posted @ 2017-09-10 19:17 五月份小姐 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 练习14.6 练习14.7 练习14.8 类似上题,很简单,细心注意一下就行了 阅读全文
posted @ 2017-09-10 18:39 五月份小姐 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 练习14.1 重载运算符不保证操作数的求值顺序,例如对&&和||的重载版本不再具有“短路求值”的特性,两个操作数都要求值,而且不规定操作数的求值顺序。 相同点: 对于优先级和结合性级操作数的数目都不变。 练习14.2 练习14.3 a)内置版本,比较两个指针类型 b)string版本 c)vecto 阅读全文
posted @ 2017-09-07 21:10 五月份小姐 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 练习13.55 练习13.56 此时拷贝一个副本,但是问题来了,ret是一个左值,返回他的sorted函数,会不停的进行递归自己,而该函数并没有一个终止条件,所以最后堆栈会溢出,导致程序异常终止; 练习13.57 此时函数返回的是一个临时对象的sorted函数,而临时对象是一个右值,这时会调用右值的 阅读全文
posted @ 2017-09-06 20:25 五月份小姐 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 练习13.49 13.50 其他的移动构造函数和移动赋值运算符的写法类似,注意两点,一点是加上noexcept,还有一点事注意最后移动后原对象的安全释放。 练习13.51 我们可以拷贝或赋值一个将要销毁的unique_ptr,由于返回的值是一个临时对象,故他是一个右值绑定的引用,这里的拷贝和赋值是移 阅读全文
posted @ 2017-09-05 20:20 五月份小姐 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 练习13.45 右值引用:使用&&,他是必须绑定到右值的引用,右值短暂,要么是字面常量,要么是表达式求职过程中的创建的临时对象;不能将一个右值引用绑定到一个右值引用类型的变量上; 练习13.46 练习13.47 该题的代码存在内存释放的问题,请大家指正 练习13.48 上一题的问题已解决,可能是编译 阅读全文
posted @ 2017-09-05 16:16 五月份小姐 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 练习13.39 练习13.40 练习13.41 因为first_free所指的位置是最后一个存放元素后一个位置,所以应该用后置递增运算,这样就能依次的进行添加,如果用前置,中间会空出一个内存,这种情况是未定义的; 练习13.42 将原先的代码的vector模板改为StrVec类就可以了 练习13.4 阅读全文
posted @ 2017-09-05 14:10 五月份小姐 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 练习13.29 不会,因为该类中的数据成员都是内置类型的,而内置类型是没有特定版本的swap的,所以对swap的调用会调用标准库的std::swap; 练习13.30 练习13.31 何时调用的swap函数不得而知。(疑问) 练习13.32 相比于类值版本的swap函数,指针版本交换的数据成员原本就 阅读全文
posted @ 2017-09-04 15:26 五月份小姐 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 练习13.27 练习13.28 b) 阅读全文
posted @ 2017-09-04 14:03 五月份小姐 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 练习13.23 练习13.24 1. 如果没有定义析构函数的话,会造成内存泄露。因为,成员变量ps是通过new操作在堆上显式分配出的一段内存,需要使用delete显式的去释放。 2. 如果没有定义拷贝构造函数的话,可能会造成二次释放,或使用悬空指针的情况。因为,在合成的赋值运算符中,让不同实例的ps 阅读全文
posted @ 2017-09-01 20:28 五月份小姐 阅读(483) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 17 下一页