更多课程 选择中心

C/C++培训
达内IT学院

400-996-5531

C/C++开发教程之标准模板库

  • 发布:C++培训
  • 来源:资料库
  • 时间:2017-08-25 16:00

今天和大家叨叨标准模板库。

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为C++程序员提供了一个可扩展的应用框架,高度体现了软件的可复用性。

从两个方面和大家分享:

1. 整个STL是以一种类型参数化(type parameterized)的方式实现的,基于模板(template)。查阅任何一个版本的STL源代码,模板都是作为构成整个STL的基石是一件千真万确的事情。

2. 在STL中体现了泛型化程序设计的思想(generic programming),引入了诸多新的名词,比如像需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代(iterator)等。与OOP(object-oriented programming)中的多态(polymorphism)一样,泛型也是一种软件的复用技术。

举一个大家都熟知的例子,Hello Word。

C语言里面里:(C语言版的你不会的话,如果你超过30岁了,或者你干软件超过两年了,以后就别干软件了,你不适合再做软件)

printf("Hello Word!\n");

C++语言里:

cout << "Hello Word!" << endl;

至于包含的头文件,我在这里不做讲解。C++里用的就是STL,其实开发过程中你已经用了,只不过你没刻意注意而已。我不像那些所谓的大神,唠唠叨叨没完没了。下面给张图,可能你见过。

这张图讲述了STL的内部结构, STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的方式处理各种不同情形。这一思想和面向对象的程序设计思想(OOP)不尽相同,因为,在OOP中更注重的是对数据的抽象,即所谓抽象数据类型(Abstract Data Type),而算法则通常被附属于数据类型之中。几乎所有的事情都可以被看作类或者对象(即类的实例),通常,我们所看到的算法被作为成员函数(member function)包含在类(class)中,类和类则构成了错综复杂的继承体系。

建议去LINUX下看看相关的源码,你只要知道里面的方法有什么就可以,实现细节不重要。学会用STL,以后再也不用怕实现细节上有BUG了,一些算法也可以这样去实现,经过工程验证的。你要相信软件行业大神多的去了,不要活在你的小世界里,出去连别人秒杀你都不够。


预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:C语言结构体位段特性实现断言宏
下一篇:【C++札记】深入浅出C++函数重载

超全的C语言标识符知识

C指针——指针类型转换

C指针——指针和结构类型的关系

C指针——数组和指针的关系

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省