`
mylove2060
  • 浏览: 336025 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

模板- 非类型模板形参

阅读更多
此内容来源C++ primer 中的内容。

// Test8.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

template<class T,size_t N> void array_init(T (&arr)[N]){
	for(size_t i=0;i<N;++i){
		arr[i] = 0;
	}
}
int _tmain(int argc, _TCHAR* argv[])
{
	double x[50];
	array_init(x);
	int y[60];
	array_init(y);
	return 0;
}

分享到:
评论

相关推荐

    函数模板与类模板.docx

    函数模板是C++中一种常用的模板机制,它可以建立一个通用的函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表。函数模板的声明和定义需要使用关键字template,并指定模板参数的类型。 函数...

    C++中模板类型的类型形参与实参的转换

    在用实参调用模板函数的时候,一般不会转换实参以匹配已有的实例化,而是会通过模板函数产生新的实例以适应该实参。  例如:template &lt;typename&gt; int compare(const T& v1,const T& v2) short s1,s2; int i1,...

    C++函数重载•函数模板•类模板.doc

    函数模板可以根据实参的类型来推导出类型参数。例如: int n = -5; double d = -5.5; cout (n) ; cout (d) ; 在上面的例子中,我们可以看到函数模板的使用方法。编译器将根据实参的类型来推导出类型参数,然后生成...

    C++模板与STL库介绍.ppt

    在说明了一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,它称之为模板函数...

    模板和智能指针(c++)

    模板的定义通常以`template`关键字开始,后面跟着模板形参列表,形参之间用逗号分隔。在使用模板时,编译器会根据实际传入的参数类型自动推断出模板的实例化类型。例如,当我们调用`compare(1, 2)`时,编译器会生成...

    C++模板使用介绍

    其中,template 是一个声明模板的关键字,表示声明一个模板,class 不能省略,如果类型形参多余一个,每个形参前都要加class。形参表可以包含基本数据类型,也可以包含类类型。 例如,我们可以定义一个函数模板来...

    C++模板学习\模板的概念\函数模板的写法

    返回类型 函数名(形参表) { // 函数定义体 } ``` 这里的关键字`template`用于声明一个模板,`class`(也可以用`typename`代替)表示模板参数的类型,`T`是一个占位符,代表任何类型。 举例来说,假设我们需要定义...

    ch13 泛型机制—模板(最终版).ppt

    类模板还可以有非类型形参,这意味着模板参数可以是常量表达式而非类型。同时,模板参数可以有默认值,这样在实例化时可以省略这些参数的值。此外,类模板可以声明友元,允许其他类或函数访问模板类的私有和保护成员...

    vc++模板库参考手册

    这是通过比较实参类型和形参类型来实现的。 5. **模板特化**:在某些特定情况下,我们可能需要为模板提供特定类型的特殊实现,这称为模板特化。特化可以是全特化(为整个模板提供一个新的实现)或部分特化(仅对...

    c++课件\钱能C++程序设计教程(第二版)课件\14 模板.ppt

    高级模板编程涉及到模板元编程、模板特化、模板偏特化、模板模板参数等复杂技术,可以实现非常强大的抽象和代码复用。 模板是C++语言的核心特性之一,它极大地提高了代码的复用性和灵活性,但也带来了编译时复杂性...

    c程序设计类模板与向量PPT课件.pptx

    函数模板的声明以`template`关键字开始,后面跟着一个形参列表,这些形参通常是类型参数,如`T`。当我们将函数模板与特定的数据类型结合使用,比如`int`、`double`或`char`,就会生成一个具体的函数,这个过程称为...

    小型售货机

    //--------------使用文件数据来建立Good链表的建立函数,形参为ifstream类的引用----------------------// Good* Create_Good(ifstream& infile); //------------------------通过链表中的数据来建立文件的函数---...

    cpp代码-C和C++的不同-3-形参传引用

    当调用此函数并传递两个变量时,如`swap(x, y)`,`x`和`y`的值可以在函数内部被交换,因为函数实际上是在操作原始变量,而非拷贝。 接下来,我们可能会在`swap`函数中看到如下实现: ```cpp void swap(int& a, int...

    C++模板与STL库介绍入门基础.ppt

    在说明了一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参,然后生成一个重载函数。该重载函数的定义体与函数模板的函数定义体相同,它称之为模板函数...

    通用的C++数据结构代码实现,使用模板.rar

    模板是C++中自动生成代码的技术,例如我们在C++若想实现一个函数的形参可以是多种数据类型就必须使用重载,模板则可以更加简单方便地实现这一点。 二、为什么使用模板 假1如我们想实现一个通用的排序算法 C语言:...

    C语言程序设计模板PPT课件.pptx

    类型标识符 函数名(形参列表) { 声明部分 语句部分 } ``` - **类型标识符**:指定了函数返回值的类型,如`int`、`void`等。 - **函数名**:函数的名称,用于调用函数。 - **形参列表**:形式参数列表,用于...

    二维数组作为函数形参的两种方法

    本篇文章将深入探讨如何将二维数组作为函数的形参进行传递,以实现特定的功能,例如本例中的二维数组求和。我们将讨论两种主要的方法:通过指针和通过引用。 ### 方法一:通过指针传递二维数组 在C++中,数组名...

    Springboot怎么集成Thymeleaf模板引擎?

    4. 在 Controller 层处理请求的方法内,增加一个形参 org.springframework.ui.Model,用于携带后台的处理数据。 5. 返回值的“index”,表示 classpath 下 templates 中,模板名称是 index,后缀是 .html 的模板。 6...

    C#语言规范

    **1.6.3 类型形参** - **定义**: 泛型类或方法中使用的类型参数,允许用户自定义类型。 **1.6.4 基类** - **概念**: 继承的基础,一个类可以从另一个类继承属性和方法。 **1.6.5 字段** - **定义**: 存储数据的...

Global site tag (gtag.js) - Google Analytics