参数有哪些类型？
6437229#30
更準確地說，參數模式或參數共有三種類型：輸入參數（入參）、輸出參數（出參）、輸入輸出參數（出入參），這些參數往往使用codice_52、codice_53、codice_54來進行表示。輸入引數輸入引數（針對輸入參數的引數）必須是一個值，例如已經被初始化了的變數或常值，而且不能重新定義獲分配它。輸出引數必須是可分配變數，但不必初始化而且任何現有值均不可存取輸入值，執行函數後必須分配一個值。輸入輸出引數必須是已初始化了的可分配變數，並且可以選擇給其分配一個值。確切的要求和執行情況因語言而異，例如在Ada 83中，即使分配後也只能分配輸出參數（在Ada 95中刪除了該參數，以消除對輔助累加器變量的需要）。這有些類似於值的概念，也就是左值（，具有值）、右值（，可分配）以及左右值（，具有值且可分配），不過這些術語在C語言中有特殊含意。
參數 (程式設計)
4806222#2
例如，可以构造连接两个列表的一个函数codice_1，它不关心元素的类型：它可以附加整数的列表、实数的列表、字符串的列表等等。设定“类型变量codice_2”来指定这个列表中元素的类型。接着codice_1可以确定类型：  这里的codice_5指示具有类型codice_2的元素的列表类型。我们称对于codice_2的所有的值，codice_1的类型“由codice_2参数化”。结果的列表必须由相同类型的元素组成。对于应用codice_1的每个位置，都要为codice_2确定一个值。
参数多态
3808138#44
在有泛型（即参数化多态及）的语言中，前面的例子可用更类型安全的方式重写 ：不定义 ，改为定义一个参数化的类 。（这种方法的缺点之一是基类实现者需要预料到哪些类型要在子类中特化） class Shelter {
协变与逆变
426253#5
在定义泛型类或方法中，类型参数是客户端程序实例化泛型类变量时指定的类型占位符。泛型类不能像通常的类那样使用，因为它实际上并不是一个类型，可能更像一个类型的蓝图。要使用泛型类，客户端代码必须要指定尖括号中的类型参数并实例化类型才能构造类型。指定的类型参数可以是编译器可以识别的任何类型，并且可以构造任意数目的使用不同类型参数的实例。
.NET Framework泛型
1552753#5
TYPO3定义多种数据类型。标准类型包括：文本，图像，带图像的文本，html，表，视频，链表等。这些类型可以通过插件进行扩展。最基本的类型称为“页”。每个可以展示给用户的元素属于某个特定的页。页可以在嵌套结构中无限制继承。TYPO3中有许多特殊的“页”，例如快捷页（浏览此页时会导向另一个页），加载页（允许在加载点上加载“页树”的一部分）。
TYPO3
4806222#10
1985年与提出类型参数允许限定（bounds）的益处。限定量化（bounded quantification）也称作“限定多态”（bounded polymorphism）或“约束泛型”（constrained genericity）。许多操作要求数据类型的某些知识，但仍可以把类型参数化。例如，判断一项是否出现在列表中，需要比较项的相等。在Standard ML中，类型参数"’’a"被限定有相等判断可用，因此具有如下类型的函数："’’a" × "’’a" list → bool且"’’a"可译为任何定义了任何定义了相等判断的类形。在Haskell中，限定是通过要求类型属于某个类型类，因此同样的函数在Haskell中可写为：formula_7。大多数支持参数多态的面向对象语言可以把参数限定为给定类型的子类型。(见子类型多态)
参数多态
4806222#11
下述Java例子中，类型参数T被限于I的子类：
参数多态
6437229#11
在討論子例程定義中的程式碼時，子例程的參數列表中的變量是參數，而運行時參數的值則會是引數。例如，在C語言中，處理線程時通常會傳入codice_32類型的參數並將其強制轉換為預期的類型：  void ThreadFunction( void* pThreadArgument ) 為了更好地理解它們之間的區別，請考慮以下用C語言編寫的函數：  int Sum( int addend1, int addend2 ) 函數codice_33具有兩個參數，分別名為codice_34和codice_35，這個函數將傳遞給參數的值相加，然後將結果返回給子例程的調用方（使用C語言編譯器自動提供的技術）。
參數 (程式設計)
4806222#0
参数多态在程序设计语言与类型论中是指声明与定义函数、复合类型、变量时不指定其具体的类型，而把这部分类型作为参数使用，使得该定义对各种具体类型都适用。参数化多态使得语言更具表达力，同时保持了完全的静态类型安全。 这被称为泛化函数、泛化数据类型、泛型变量，形成了泛型编程的基础。
参数多态
4254602#1
类模板也存在模板参数推导的情形。例如： 模板函数在定义时，用template<>声明模板参数（或称模板形参）。调用模板函数时，可以在函数名字后用codice_1显式指出模板参数（这时称作模板实参）。例如： 但是，调用模板函数时，如果不显式指明模板参数，而是根据函数的调用实参去推断模板实参，这就是"模板参数推导"。例如上例可进一步考虑情形： 编译器会推导出这种函数调用的模板实参为T->double. 编译器比较函数模板的形参（template parameter）与对应的调用实参（argument used in the function call）的类型，以确定模板参数的类型。形参的类型必须是下述特定情形之一： 说明：
模板参数推导