上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 练习12.19 练习12.20 练习12.21 书中的方式更好一些。将合法性检查与元素获取的返回语句分离开来,代码更清晰易读,当执行到第二条语句时,已确保p是存在的vector,curr是合法的位置,可安全地获取元素并返回。这种清晰的结构也更有利于修改不同的处理逻辑。 而本题中的版本将合法性检查和元 阅读全文
posted @ 2017-08-29 16:25 五月份小姐 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 练习12.16 练习12.17 (a)不合法。unique_ptr需要用一个指针初始化,无法将int转换为指针。 (b)合法。可以用一个int*来初始化IntP,但此程序逻辑上是错误的。它用一个普通int变量的地址初始化p1,p1销毁时会释放此内存,其行为是未定义的。 (c)合法。用一个指向动态分配 阅读全文
posted @ 2017-08-29 13:41 五月份小姐 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 练习12.14 练习12.15 复习参数绑定bind 阅读全文
posted @ 2017-08-28 22:11 五月份小姐 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 练习12.10 此调用是正确的,利用p创建一个临时的shared_ptr赋予了process的参数ptr,p和ptr都指向相同的int对象,引用计数被正确地置为2。process执行完毕后,ptr被销毁,引用计数减1,这是正确的——只有p指向它。 练习12.11 此调用是错误的,这里使用get获得一 阅读全文
posted @ 2017-08-28 21:39 五月份小姐 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 练习12. 6 练习12.7 练习12.8 p是内置类型的动态内存分配,他是未定义的,返回的也将是未定义的。 网上答案:从程序片段看,可以猜测程序员的意图是通过new返回的指针值来区分内存分配成功或失败——成功返回一个合法指针,转换为整型是一个非零值,可转换为bool值true;分配失败,p得到nu 阅读全文
posted @ 2017-08-28 19:56 五月份小姐 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 练习12.1 b1和b2共享一个strBlob对象,所以他们都有4个元素; 练习12.2 练习12.3 push_back和pop_back的语义分别是向StrBlob对象共享的vector对象添加和从其删除元素。因此,我们不应该为其重载const版本,因为常量StrBlob对象是不应该被允许修改共 阅读全文
posted @ 2017-08-28 16:52 五月份小姐 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 练习11.37 在关键字类型的元素没有明显的序关系的情况下,无序容器是非常有用的,在某些应用中,维护元素的序代价非常高昂,此事无序容器也很有用 练习11.38 单词计数程序 单次转换程序 阅读全文
posted @ 2017-08-23 15:56 五月份小姐 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 练习11.33 练习11.34 find函数只会寻找是否有关键字,找不到返回其尾后迭代器,而下标运算符如果找不到的话就会插入到其该插入的位置; 练习11.35 效果跟原先的没有差别 练习11.36 运行会强行终止,可以这样修改 阅读全文
posted @ 2017-08-23 14:58 五月份小姐 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 练习11.27 对于multimap来说统计关键字出现的次数用count会很好,而对于map来说寻找关键字来说更加妥当; 练习11.28 练习11.29 upper_bound:会指向所查找元素不影响排序的插入位置迭代器; lower_bound:同上 equal_range:一个迭代器pair,两 阅读全文
posted @ 2017-08-22 22:05 五月份小姐 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 练习11.24 将关键字为0的元素的值赋值1;如果没有,创建。 练习11.25 程序会报错。因为v是一个空的容器,代码编译不会出错,运行会提示下标越界; 练习11.26 key_value类型; mapped_value类型; 阅读全文
posted @ 2017-08-22 20:43 五月份小姐 阅读(121) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页