參數 (程式設計)
更準確地說，參數模式或參數共有三種類型：輸入參數（入參）、輸出參數（出參）、輸入輸出參數（出入參），這些參數往往使用codice_52、codice_53、codice_54來進行表示。輸入引數輸入引數（針對輸入參數的引數）必須是一個值，例如已經被初始化了的變數或常值，而且不能重新定義獲分配它。輸出引數必須是可分配變數，但不必初始化而且任何現有值均不可存取輸入值，執行函數後必須分配一個值。輸入輸出引數必須是已初始化了的可分配變數，並且可以選擇給其分配一個值。確切的要求和執行情況因語言而異，例如在Ada 83中，即使分配後也只能分配輸出參數（在Ada 95中刪除了該參數，以消除對輔助累加器變量的需要）。這有些類似於值的概念，也就是左值（，具有值）、右值（，可分配）以及左右值（，具有值且可分配），不過這些術語在C語言中有特殊含意。
可变参数模板
上例中的"pass"函数是必须的，因为参数包用逗号展开后只能作为被逗号分隔开的一组函数调用实参，而不是作为逗号运算符，从而"pass"函数所能接受的调用实参个数必须是可变的，也即"pass"函数必须是可变参数函数。codice_2编译不能通过。 此外，上述办法要求codice_3的返回类型不能是void；且所有对print的调用在一个非确定的顺序，因为函数实参求值的顺序是不确定的。如果要避免这种不确定的顺序，可以用大括号封闭的（initializer list），这保证了严格的从左到右的求值顺序。为避免void返回类型带来的麻烦，使用逗号运算符使得每个扩展元素总是返回1。例如： template void some_function(T value)