c++中模板与容器概念的区别

来源:百度知道 编辑:UC知道 时间:2024/05/22 19:02:49
C++

呵呵,模板就是带有可变模板参数的,目前的好像都是在编译时将模板参数实例化.
容器就是存放元素的啊,比如数组,集合等等...
但一般容器都是用模板来做的.这样才能复用啊.比如集合容器set<int>和set<string>.

如果不使用模板技术的话,你要写一个set1,专门用于int,等你需要string类型的set时,再写一个set2,专门用来处理string...
就像set1.insert( int& element)和set2.insert( string& element)其实这两个函数,除了元素类型不一样之外,它们的实现代码完全可以一样的.
所以就用模板了啊.set<typename T>对所有类型都能用了啊

你可以看出容器和模板的区别.其实容器可以不用模板来实现,但是....上面你也看到了...所以通常容器都用模板的.

1、这两者不是一个层面的东西,容器就是装一类数据的一个假想的实体,模板是给出了一种可以适合所有类型的解决方案。容器和数组、结构体一样,是一种数据组合的方式。而模板是一种通用的的处理方式,即先忽略数据类型,写出一个通用的算法作为库文件,然后在其后的使用当中,声明数据类型,从而实现代码相同,数据类型不同的最大复用性。

2、一般容器都是用模板来做的,才能有效重复利用。比如集合容器set<int>和set<string>。如果不使用模板技术,要写一个set1,专门用于int,等需要string类型的set时,再写一个set2,专门用来处理string。

容器就是一个模板的东西,相当于能装一些数据
模板相当于生活中的模板,不过是C++引入的一些新的东西