关于STL的意义

原创 2006年06月18日 15:36:00
    STL封装了一堆底层的算法,但是为什么很多学C++都对STL崇拜不一,想问一下大家觉得STL最大的意义在哪里?
    C++有没有关于数据库方面的库?

       C++是一门很棒的语言,唯一的缺陷就是相关的库太少,不是因为大家不想为它写库,而是它的库很难写。而STL是C++v的标准模板库,里面封装了很多经典的算法,再加上是基于模板的,适用于多种数据类型,某种程度上说是通用算法,所以它在C++中的地位很高。
 
    STL的意义就在于它为我们提供了很多很好的“零件”,我们可以用它开发自己的“车”!
而且STL制造的“零件”是那么的优良(空间效率和时间效率都是非常不错的,要不c++又怎么会
把它纳入标准呢,呵呵),决非一些做工粗糙的国产货(呵呵,没有BS国产的意思,不过民族企
业还是需要努力!)
    学STL的意义就在于它为我们提供了很多很好的“零件”,我们可以用它开发自己的“车”!
而且STL制造的“零件”是那么的优良(空间效率和时间效率都是非常不错的,要不c++又怎么会
把它纳入标准呢,呵呵),决非一些做工粗糙的国产货(呵呵,没有BS国产的意思,不过民族企
业还是需要努力!)

    学c++不学STL(现在叫标准程序库或许好点,后者对STL有所改进,应该算是STL的超集),肯定算遗憾,可惜现在很多学校并不知道,学校教c++的时候,根本没有提到过STL
    不学STL(现在叫标准程序库或许好点,后者对STL有所改进,应该算是STL的超集),肯定算遗憾,可惜现在很多学校并不知道,学校教c++的时候,根本没有提到过STL
    还有我觉得c++的库之所以难写,与c++标准在各个编译器厂商的实现并不统一有很大关系!
比如微软为了推销自己的c++编译器,可能写了一些很多自己的库,但是出于商业的目的这些库
拿到borland的c++编译器就不一定好用!同样的事情也可以发生在borland对microsofe身上!
这样就造成了库使用的不方便~
    对比c++,java就做的不错,其实java之所以这么成功与java丰富的库是离不开的,java标准属
于sun公司(商业性很强的公司),所以的jvm都严格执行sun的java标准,所以所有为java开发
的库都可以很方便的在各种版本的jvm上执行,这样我们使用起库来就很方便了~
    C++ 除了STL 还有一些其他的开源库,这些东西为我们开发提供了极大的方便,
让程序员能把更多的经历投入到软件的实现上去,而不必在语言和算法上花太多的精力。
    STL 很大程度上= vector + basic_stream + basic_string
    由stl开始了泛型编程
    对我这样的懒人来说,没有别的,就是方便,
    比如:
#include <iostream>
#include <map>
#include <string>
int main(void)
{
    using namespace std;
    typedef map<std::string, size_t >  word_count_t;
   
    word_count_t  wc;
   
    string word;
    while(cin>>word){
        ++wc[word];
    }
   
    word_count_t::const_iterator itr;
    for(itr = wc.begin(); itr != wc.end(); ++itr){
        cout << itr->first <<" " << itr-> second <<endl;
    }
}
    这样,就可以统计一本书中各单词的出现频率,效率没得说
有时意义问得太多了,反而会迷失真正需要作的东西
    STL的伟大不仅在于它提供了大量常用的数据结构和许多经典算法,而且因为他提供迭代器:你可以利用迭代器概念,写出自己的迭代器,对一些不是用GP写的数据结构,也能很好的使用;而且,他可以让你自己去扩充库,并且与现有的库可以很好的配合使用。





点乘和叉乘及其物理意义(C++STL实现)

一些错误观念的澄清,比如数学意义上的点积和叉积并不对应matlab程序中的.*(按位相乘)和*(矩阵乘法) 内积的物理意义一种向量到标量的映射 两向量的夹角的计算 两向量是否正交的判断 两向量的相似性...

关于stl中得std::sort()的坑(Strict Weak Ordering)严格意义上得弱排序

http://blog.sina.com.cn/s/blog_532f6e8f01014c7y.html

三极管常用参数缩写的意义

  • 2017年11月09日 10:26
  • 12KB
  • 下载

线性代数的几何意义 任广千

  • 2017年12月13日 11:27
  • 80.82MB
  • 下载

特征值和特征向量的实际意义

本文转自知乎大牛。 从定义出发,Ax=cx:A为矩阵,c为特征值,x为特征向量。 矩阵A乘以x表示,对向量x进行一次转换(旋转或拉伸)(是一种线性转换),而该转换的效果为常数c乘以向量x(即只进行...

哈希意义的小结

  • 2016年07月18日 10:45
  • 14KB
  • 下载

物联网的现状及战略意义

  • 2015年12月22日 20:05
  • 304KB
  • 下载

所谓的原创内容对于seo的意义在何方?

所谓的原创内容对于seo的意义在何方?   说来说去都是这个话题SEO.那么如何能把SEO给做好呢,小明seo相信很多朋友都想知道的。我们为了把SEO学好,拼命的学习,实践。可是,有些SEO...

pid参数意义

  • 2016年06月08日 14:35
  • 203KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于STL的意义
举报原因:
原因补充:

(最多只允许输入30个字)