移动学习网 导航

c语言中的模板类的定义是什么意思?

2024-05-03m.verywind.com
~

这是建立模板的固定形式,template即模板,class指类别,T是类别的统称,可以使用的数据类型有int、char,float,double等等。

举个例子:

template < typename T >
T min( T a, T b )
{
return a > b ? b : a;
}
这个 max 函数就是一个模板函数,它可以传入一个 “类型”的参数,以便实现任意类型求最小值的效果。

扩展资料:

函数模板的定义:

函数模板的声明是在关键字 template 后跟随一个或多个模板在尖括弧内的参数和原型。与普通函数相对,它通常是在一个转换单元里声明,而在另一个单元中定义,可以在某个头文件中定义模板。例如:

// file max.h

#ifndef MAX_INCLUDED

#define MAX_INCLUDED

template <class T>

T max(T t1, T t2)

{

return (t1 > t2) ? t1 : t2;

}

#endif

定义 T 作为模板参数,或者是占位符,当实例化 max()时,它将替代具体的数据类型。max 是函数名,t1和t2是其参数,返回值的类型为 T。可以像使用普通的函数那样使用这个 max()。编译器按照所使用的数据类型自动产生相应的模板特化,或者说是实例:

int n=10,m=16;

int highest = max(n,m); // 产生 int 版本

std::complex c1, c2;

//.. 给 c1,c2 赋值

std::complex higher=max(c1,c2); // complex 版本

参考资料来源:百度百科—函数模板



  • #include <string>和 #include <cstring> 有什么区别~在C++中
  • 答:string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;CString(typedef CStringT > CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中...

  • C语言中的#define是什么意思,有什么作用,怎样用??
  • 答:define 定义一个标识符来表示一个常量。其特点是定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。用 #define 定义标识符的一般形式为:define 标识符 常量 //注意, 最后没有分号 define 和...

  • c语言中一个模板中“^!”是什么意思
  • 答:include <iostream>,这一行将iostream包含进来了,估计这个文件或者是它所包含的文件中一某一个头文件将xutility文件include进来了。。。然后你又using namespace std;使用std命名空间,而xutility中的min函数模板正是定义在std...

  • c++关于模板类函数返回值
  • 答:答案补充:甚至这样都是可以的,返回的是一个其它类模板生成的类:template <class T>class Bus{};template <class T>class Car{public:Bus<T> show()//返回的是一个Bus类模板生成的类Bus<T>。这个时候再简写成Bus ...

  • c++语言有什么特点
  • 答:在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义,数据将被隐藏在封装体中,该封装体通过操作接口与外界交换信息。对象被说明具有一个给定类的变量,类类似于C语言中的结构,在C语言...

  • C语言中有string吗?
  • 答:string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。而在C语言中,C语言中没有字符串类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。

  • C语言中函数的定义格式是什么,函数原型声明的语法格式?
  • 答:fun(x+y);}// 下面的fun函数就是函数的定义int fun(int a, int b){ return a+b;}注:如果被调函数(上例中为fun函数)写在调用处之前,可以不声明(本例是现在调用处 (c = fun(x+y);)之后)。

  • c语言中void的含义是什么?
  • 答:c语言中,void的意思是“无类型”,相应的“void *”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,其作用是对函数返回和参数的进行限定。void void最常见的用法,就是在函数中限定...

  • C语言中->是什么意思啊?
  • 答:->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”...

  • c语言中void是什么意思?有什么用处?
  • 答:void 被翻译为"无类型",相应的void * 为"无类型指针"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void 的作用 1.对函数返回的限定,这种情况我们比较常见。2.对函数参数的限定,这种情况...

    户户网菜鸟学习
    联系邮箱
    返回顶部
    移动学习网