徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

标准模板库

指数 标准模板库

标准模板库(英文:Standard Template Library,缩写:STL),是一个C++软件库,大量影響了C++标准程序库但並非是其的一部分。其中包含4个组件,分别为算法、容器、函数、迭代器。 模板是C++程序设计语言中的一个重要特征,而标准模板库正是基于此特征。标准模板库使得C++编程语言在有了同Java一样强大的类库的同时,保有了更大的可扩展性。.

29 关系: 可扩展性双端队列向量大O符号容器 (抽象数据类型)哈希表C++C++11C++标准程序库C++標準程式庫硅谷图形公司类库縮寫线性表编程语言软件库迭代器英语JavaList (STL)Microsoft Visual C++Native POSIX Thread LibraryVector (STL)模板 (C++)正弦比雅尼·斯特劳斯特鲁普无序关联容器 (STL)数学数组

可扩展性

没有描述。

新!!: 标准模板库和可扩展性 · 查看更多 »

双端队列

双端队列(deque,全名double-ended queue)是一种具有-zh-hans:队列; zh-hant:佇列;-和-zh-hans:栈; zh-hant:堆疊;-性质的抽象数据类型。双端队列中的元素可以从两端弹出,插入和删除操作限定在--的两邊进行。.

新!!: 标准模板库和双端队列 · 查看更多 »

向量

向量(vector,物理、工程等也称作--)是数学、物理学和工程科学等多个自然科學中的基本概念,指一个同时具有大小和方向,且满足平行四边形法则的几何對象。一般地,同时满足具有大小和方向两个性质的几何对象即可认为是向量(特别地,电流属既有大小、又有正负方向的量,但由于其运算不满足平行四边形法则,公认为其不属于向量)。向量常常在以符号加箭头标示以区别于其它量。与向量相对的概念称标量或数量,即只有大小、绝大多数情况下没有方向(电流是特例)、不满足平行四边形法则的量。.

新!!: 标准模板库和向量 · 查看更多 »

大O符号

大O符号(Big O notation),又稱為漸進符號,是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。在数学中,它一般用来刻画被截断的无穷级数尤其是渐近级数的剩余项;在计算机科学中,它在分析算法复杂性的方面非常有用。 大O符号是由德国数论学家在其1892年的著作《解析数论》(Analytische Zahlentheorie)首先引入的。而这个记号则是在另一位德国数论学家的著作中才推广的,因此它有时又称为朗道符号(Landau symbols)。代表“order of...”(……阶)的大O,最初是一个大写希腊字母“Ο”(omicron),现今用的是大写拉丁字母“O”。.

新!!: 标准模板库和大O符号 · 查看更多 »

容器 (抽象数据类型)

在计算机科学中,容器是指实例为其他类的对象的集合的类、数据结构、或者抽象数据类型。换言之,它们以一种遵循特定访问规则的系统的方法来存储对象。容器的大小取决于其包含的对象(或元素)的数目。潜在的不同容器类型的实现可能在空间和时间复杂度上有所差别,这使得在给定应用场景中选择合适的某种实现具有灵活性。.

新!!: 标准模板库和容器 (抽象数据类型) · 查看更多 »

哈希表

散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首字母为W的表中查找“王”姓的电话号码,显然比直接查找就要快得多。这里使用人名作为关键字,“取首字母”是这个例子中散列函数的函数法则F(),存放首字母的表对应散列表。关键字和函数法则理论上可以任意确定。.

新!!: 标准模板库和哈希表 · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: 标准模板库和C++ · 查看更多 »

C++11

C++11,先前被稱作C++0x,即ISO/IEC 14882:2011,是C++程式語言的一个標準。它取代第二版標準ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公開於1998年,第二版於2003年更新,分别通稱C++98以及C++03,两者差异很小),且已被C++14取代。相比于C++03,C++11標準包含核心語言的新機能,而且擴展C++標準程式庫,併入了大部分的C++ Technical Report 1程式庫(數學的特殊函式除外)。 ISO/IEC JTC1/SC22/WG21 C++標準委員會計劃在2010年8月之前完成對最終委員會草案的投票,以及於2011年3月召開的標準會議完成國際標準的最終草案。然而,WG21預期ISO將要花費六個月到一年的時間才能正式發佈新的C++標準。為了能夠如期完成,委員會決定致力於直至2006年為止的提案,忽略新的提案。最终于2011年8月12日公布,并于2011年9月出版。 2012年2月28日的國際標準草案是最接近于C++11标准的草案,差异仅有编辑上的修正。 像C++這樣的程式語言,透過一種演化的的過程來發展其定義。這個過程不可避免地將引發與現有程式碼的相容問題,在C++的發展過程中偶爾會發生。不過根據比雅尼·斯特劳斯特鲁普(C++的創始人並且是委員會的一員)表示,新的標準將幾乎100%相容於現有標準。.

新!!: 标准模板库和C++11 · 查看更多 »

C++标准程序库

#重定向 C++標準函式庫.

新!!: 标准模板库和C++标准程序库 · 查看更多 »

C++標準程式庫

#重定向 C++標準函式庫.

新!!: 标准模板库和C++標準程式庫 · 查看更多 »

硅谷图形公司

硅谷图形公司(英语:Silicon Graphics, Inc.,简称:SGI,),在台灣早年譯為--、視算電腦,是一家美國電腦公司,1982年开始生产图形显示终端。是由吉姆·克拉克和创建。初期,公司基于吉姆·克拉克在几何流水线领域的工作生产加速3D图形显示的专门硬件和软件。SGI最初于1981年11月在美国加州创立,并在1990年1月作为Delaware corporation重建。2006年3月8日,SGI申请破产保护。2009年4月1日,服务器与存储技术公司Rackable Systems宣布计划以大约2500万美元现金收购SGI剩余资产,同时还将承担其部分债务。 2016年8月11日,慧與科技(HPE, Hewlett Packard Enterprise)宣布以每股美金7.75, 合共2億7仟5百萬美金, 收購SGI所有股權, 當中包括其所持現金與承担其所有債項。.

新!!: 标准模板库和硅谷图形公司 · 查看更多 »

类库

在了解了“-zh-cn:类;zh-tw:類別;-”在-zh-cn:程序设计;zh-tw:程式設計-中的定义后,--(Class library)是指一个类的集合。 一组在多个工程中可能会被重复使用的--,可以作为一个-- 共享给其他相关的开发者。as,swf和swc都是常见的-- 分配形式。.

新!!: 标准模板库和类库 · 查看更多 »

縮寫

縮寫(abbreviation),在语言学裡嚴格地说是一種詞語的簡易格式,又称缩略语或簡稱。但實際上,它是從詞中提取關鍵字來簡要地代表原來的意思。例如,「欧洲联盟」被省略作為「欧盟」。.

新!!: 标准模板库和縮寫 · 查看更多 »

线性表

线性表(Linear List)是由n(n≥0)个数据元素(结点)a,a,a…,a组成的有限序列。 其中:.

新!!: 标准模板库和线性表 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: 标准模板库和编程语言 · 查看更多 »

软件库

#重定向 函式庫.

新!!: 标准模板库和软件库 · 查看更多 »

迭代器

迭代器(iterator)有時又稱游標(cursor)是程式設計的软件设计模式,可在容器物件(container,例如鏈表或陣列)上遍訪的介面,設計人員無需關心容器物件的内存分配的实现细节。 各種語言實作迭代器的方式皆不盡同,有些物件導向語言像Java, C#, Ruby, Python, Delphi都已將迭代器的特性內建語言當中,完美的跟語言整合,我們稱之隱式迭代器(implicit iterator),但像是C++語言本身就沒有迭代器的特色,但STL仍利用模板實作了功能強大的迭代器。STL容器的數據的內存地址可能會重新分配(reallocate),與容器綁定的迭代器仍然可以定位到重新分配後的正確的內存地址。 迭代器另一方面還可以整合生成器(generator)。有些語言將二者視為同一介面,有些語言則將之獨立化。.

新!!: 标准模板库和迭代器 · 查看更多 »

英语

英语(English,)是一种西日耳曼语言,诞生于中世纪早期的英格兰,如今具有全球通用语的地位。“英语”一词源于迁居英格兰的日耳曼部落盎格鲁(Angles),而“盎格鲁”得名于临波罗的海的半岛盎格里亚(Anglia)。弗里西语是与英语最相近的语言。英语词汇在中世纪早期受到了其他日耳曼族语言的大量影响,后来受罗曼族语言尤其是法语的影响。英语是将近六十个国家唯一的官方语言或官方语言之一,也是全世界最多國家的官方語言。它是英国、美国、加拿大、澳大利亚、爱尔兰和新西兰最常用的语言,也在加勒比、非洲及南亚的部分地区被广泛使用。它是世界上母语人口第三多的语言,仅次于汉语和西班牙语。英语是学习者最多的第二外语跟學習者最多的第一外語,是联合国、欧盟和许多其他国际组织的官方语言。它是使用最广泛的日耳曼族语言,至少70%的日耳曼语族使用者说英语。 英语有1400多年的发展史。公元5世纪,盎格魯-撒克遜人把他们的各种盎格鲁-弗里西语方言带到了大不列顛島,它们被称为古英语。中古英语始于11世纪后期的诺曼征服,这一时期英语受到了法语的影响。15世纪末伦敦对印刷机的采用、《钦定版圣经》的出版及元音大推移标志了近代英语的开端。通过大英帝国对全球的影响,现代英语在17世纪至20世纪中叶传播到了世界各地。通过各种印刷和电子媒体,随着美国取得全球超级大国地位,英语已经成为了国际对话中居领导地位的世界語言。它还是许多地区和行业(如科学、导航、法律等)的通用语。 现代英语和很多其他语言相比屈折变化较少,更多地依靠助動詞和语序来表达复杂的时态、体和语气,以及被動語態、疑问和一些否定。英语的各种口音和方言在发音和音位方面有显著差异,有时它们的词汇、语法和拼法也有所不同,但世界各地说英语的人能基本无碍地沟通交流。.

新!!: 标准模板库和英语 · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: 标准模板库和Java · 查看更多 »

List (STL)

list 是C++標準程式庫中的一個類,可以簡單視之為雙向連結串列,以線性列的方式管理物件集合。list 的特色是在集合的任何位置增加或刪除元素都很快,但是不支持隨機存取。list 是C++標準程式庫提供的眾多容器(container)之一,除此之外還有vector、set、map、…等等。list 以模板方式實現(即泛型),可以處理任意型別的變數,包括使用者自定義的資料型態,例如:它可以是一個放置整數(int)型態的 list、也可以是放置字串(char 或 string)型態的 list、或者放置使用者自定類別(user-defined class)的 list。.

新!!: 标准模板库和List (STL) · 查看更多 »

Microsoft Visual C++

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微軟公司的C++開發工具,具有集成开发环境,可提供編輯C語言,C++以及C++/CLI等编程語言。VC++整合了便利的除錯工具,特別是整合了微軟Windows视窗操作系统应用程序接口(Windows API)、三维動畫DirectX API,Microsoft.NET框架。目前最新的版本是Microsoft Visual C++ 2017。.

新!!: 标准模板库和Microsoft Visual C++ · 查看更多 »

Native POSIX Thread Library

Native POSIX Thread Library(NPTL)是一个能够使使用POSIX Threads编写的程序在Linux内核上更有效地运行的软件。 测试表明,NPTL能够成功地在IA-32平台上在两秒鐘内生成100,000个线程;相应的没有NPTL的内核将耗费15分钟左右。.

新!!: 标准模板库和Native POSIX Thread Library · 查看更多 »

Vector (STL)

Vector 是C++標準程式庫中的一個類,可視為會自動擴展容量的陣列,以循序(Sequential)的方式維護變數集合。vector的特色有支持隨機存取,在集合尾端增刪元素很快,但是在集合中間增刪元素比較費時。vector是C++標準程式庫中的眾多容器(container)之一。 vector以模板(泛型)方式實現,可以保存任意類型的變數,包括使用者自定義的資料型態,例如:它可以是放置整數(int)型態的 vector、也可以是放置字串(string)型態的 vector、或者放置使用者自定類別(user-defined class)的 vector。.

新!!: 标准模板库和Vector (STL) · 查看更多 »

模板 (C++)

模板(Template)指C++程序设计语言中的函数模板与类模板,是一种参数化类型机制,大体对应于java和C#中的泛型,但也有一些功能上的显著差异(C++模板支持后两者没有明确对应的模板模板参数和模板非类型参数,但不支持Java的通配符以及C#的泛型类型约束)。模板是C++的泛型编程中不可缺少的一部分。 模板是C++程序员绝佳的武器,特別是結合了多重继承与运算符重载之后。C++的标准函数库提供的许多有用的函数大多結合了模板的概念,如STL以及iostream。.

新!!: 标准模板库和模板 (C++) · 查看更多 »

正弦

在數學中,正弦(英語:sine、縮寫sin)是一種週期函數,是三角函数的一種。它的定义域是整个实数集,值域是。它是周期函数,其最小正周期为2π。在自变量为(4n+1)π/2(n为整数)时,该函数有极大值1;在自变量为(4n+3)π/2时,该函数有极小值-1。正弦函数是奇函数,其图像关于原点对称。.

新!!: 标准模板库和正弦 · 查看更多 »

比雅尼·斯特劳斯特鲁普

比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup,,),生于丹麦奥胡斯郡,计算机科学家。他以创造C++编程语言而闻名,被称为“C++之父”。 用斯特劳斯特鲁普他本人的话来说,自己“发明了C++,写下了它的早期定义并做出了首个--……选择制定了C++的设计标准,设计了C++主要的辅助支持环境,而且负责处理C++标准委员会的扩展提案。”他还写了一本《C++程序设计语言》,它被许多人认为是C++的范本经典,目前是第四版(于2013年5月19日出版),最新版中囊括了C++11所引进的一些新特性。 斯特劳斯特鲁普于1975年获得丹麦奥胡斯大学的数学和计算机科学硕士学位,又于1979年获得英国剑桥大学的计算机科学博士学位。从贝尔实验室大规模编程(Large-scale Programming)研究部门设立至2002年晚些时候,他一直担任那里的负责人。2002年至2014年間,他在德州農工大學工学院擔任資訊科學教授一职。2014年1月起,在紐約市的摩根史丹利技術部門擔任董事總經理(Managing Director),並於哥倫比亞大學資訊科學系擔任客座教授。.

新!!: 标准模板库和比雅尼·斯特劳斯特鲁普 · 查看更多 »

无序关联容器 (STL)

C++程序设计语言中,unordered_map、unordered_multimap、unordered_set、unordered_multiset是标准模板库(STL)提供的一类无序关联容器(unordered associative containers)。是通过哈希表实现的数据结构。无序是指元素的名字(或者键值)的存储是无序的;这与用平衡二叉树实现的元素名字是有序存储的“关联容器”是相对概念。.

新!!: 标准模板库和无序关联容器 (STL) · 查看更多 »

数学

数学是利用符号语言研究數量、结构、变化以及空间等概念的一門学科,从某种角度看屬於形式科學的一種。數學透過抽象化和邏輯推理的使用,由計數、計算、量度和對物體形狀及運動的觀察而產生。數學家們拓展這些概念,為了公式化新的猜想以及從選定的公理及定義中建立起嚴謹推導出的定理。 基礎數學的知識與運用總是個人與團體生活中不可或缺的一環。對數學基本概念的完善,早在古埃及、美索不達米亞及古印度內的古代數學文本便可觀見,而在古希臘那裡有更為嚴謹的處理。從那時開始,數學的發展便持續不斷地小幅進展,至16世紀的文藝復興時期,因为新的科學發現和數學革新兩者的交互,致使數學的加速发展,直至今日。数学并成为許多國家及地區的教育範疇中的一部分。 今日,數學使用在不同的領域中,包括科學、工程、醫學和經濟學等。數學對這些領域的應用通常被稱為應用數學,有時亦會激起新的數學發現,並導致全新學科的發展,例如物理学的实质性发展中建立的某些理论激发数学家对于某些问题的不同角度的思考。數學家也研究純數學,就是數學本身的实质性內容,而不以任何實際應用為目標。雖然許多研究以純數學開始,但其过程中也發現許多應用之处。.

新!!: 标准模板库和数学 · 查看更多 »

数组

在計算機科學中,陣列資料結構(array data structure),簡稱数组(Array),是由相同类型的元素(element)的集合所組成的資料結構,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素對應的儲存地址。 最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元整數陣列,可作為在記憶體位址2000,2004,2008,...2036中,儲存10個變量,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。 二维数组,对应于數學上的矩陣概念,可表示為二維矩形格。例如: a.

新!!: 标准模板库和数组 · 查看更多 »

重定向到这里:

STL演算法標準模板庫

传出传入
嘿!我们在Facebook上吧! »