标题:泛型算法的使用与容器大小增减无关的意义在哪里?
只看楼主
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
结帖率:100%
已结贴  问题点数:20 回复次数:3 
泛型算法的使用与容器大小增减无关的意义在哪里?
c++中的泛型算法是不会增加或者删除容器元素的,比如排序后需要删除某些元素的时候仍然需要使用erase函数解决,而不是定义一个泛型算法来删除容器中的元素。
这个问题实际上是Stanley B.Lippman著的c++ primer第四版的一道课后思考题,暂时想不通,求帮助!希望朋友们可以帮忙解答这个问题!思考中。。。。

补充下原题吧。
习题11.11 你认为为什么算法不改变容器的大小?请给出自己的想法。
习题11.12 为什么必须使用erase,而不是定义一个泛型算法来删除容器中的元素?

[ 本帖最后由 baobaoisme 于 2011-8-9 14:10 编辑 ]
搜索更多相关主题的帖子: 朋友 思考题 元素 
2011-08-09 00:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
意义在哪里?
--- 没有意义,但你怎么实现这个功能呢?
2011-08-09 08:18
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
得分:15 
泛型算法是神马意思? 就是模板,容器神马意思?存储变量的东东; 变量有类型吧?不同的类型要不同的容积吧?
既然你想删除一个容器 那莫那个容器肯定就已经存在了吧? 如果继续用泛型的思想来的删除的话?那莫请问计算机咋知道他要删多少东东撒? 所以泛型算法不好改变容器的大小撒; 归根结底还是电脑太笨了撒;


你想想 如果要实现 删除容器元素的方法;要怎么整呢:你先要知道这个容器存的是神马;再要知道这个是神马容器;
如果要实现这2个功能,就要计算机自己调用容器内的元素,自己算算这个元素多大,然后根据这个来删除? 你觉得
这个有意义吗?泛型算法是神马玩意?他的意义是神马?就是定义个通用类型都适用的模板嘛;这个已经不适用泛型算法了?
你觉得呐?

君生我未生 我生君以老
2011-08-09 14:45
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
得分:0 
这两天学习完了这一章节,对这个问题有了一点浅薄的认识。
泛型算法与类型无关,算法通常在一个元素序列上操作,这些元素可以存储在标准库容器类型、内置数组甚至是生成的序列上。算法基于迭代器操作,从而实现类型无关性。

我的上一个问题也是楼上两位回答的,人有点少哦,呵呵,非常感谢二位的回答,同样给我很大的帮助。
2011-08-10 21:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-347108-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.087406 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved