模板 (C++) 编辑
模板在C++程序设计语言中,是指子程序模板与模板,是一种参数化类型机制。JavaC#中的泛型与C++的模板大体对应,但也有一些功能上的显著差异。模板是C++的泛型编程中不可缺少的一部分。
3
相关
.NET Framework泛型是在.NET Framework 2.0的公共语言运行库中的增加的一项新功能,类似于C++的模板,但不如C++的模板灵活,不过也有一些自己的特性。
泛型程序设计是程序设计语言的一种风格或编程范型。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C♯、F、Swift 和 Visual Basic .NET 称之为泛型;ML语言、Scala 和 Haskell 称之为参数多态;C++ 和 D语言称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型。
泛型程序设计是程序设计语言的一种风格或编程范型。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C♯、F、Swift 和 Visual Basic .NET 称之为泛型;ML语言、Scala 和 Haskell 称之为参数多态;C++ 和 D语言称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型。
模板参数推导,是在调用C++的模板时,由编译器根据使用上下文来推断所调用的模板函数的模板参数。这一概念也适用于类的模板成员函数。
Windows Template Library是一个用于Win32研发的面向对象程序设计的C++模板库。WTL由Microsoft的员工Nenad Stefanovic创造,起初作为内部使用,之后发行为Visual Studio和Win32 Framework SDK的不支援增益集。它主要被开发作为MFC的轻量化替代品,以微软Active Template Library函式库为基础。
奇异递归模板模式是C++模板时的一种惯用法:把派生类作为基类的模板参数。更一般地被称作F-bound polymorphism,是一类F 界量化。
模板的模板参数是指C++语言程序设计中,一个模板的参数是模板类型。只有类模板允许其模板参数是模板类型;函数模板不允许具有这样的模板参数。
.NET Framework泛型是在.NET Framework 2.0的公共语言运行库中的增加的一项新功能,类似于C++的模板,但不如C++的模板灵活,不过也有一些自己的特性。
泛型程序设计是程序设计语言的一种风格或编程范型。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C♯、F、Swift 和 Visual Basic .NET 称之为泛型;ML语言、Scala 和 Haskell 称之为参数多态;C++ 和 D语言称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型。
Vector 是C++标准程式库中的一个类,可视为会自动扩展容量的阵列,以循序的方式维护变数集合。vector的特色有支持随机存取,在集合尾端增删元素很快,但是在集合中间增删元素比较费时。vector是C++标准程式库中的众多容器之一。 vector以模板方式实现,可以保存任意类型的变数,包括使用者自定义的资料型态,例如:它可以是放置整数型态的vector、也可以是放置字串型态的vector、或者放置使用者自定类别的vector。