首页 > 编程知识 正文

函数模板和类模板,用指针作为函数的参数

时间:2023-05-03 21:34:01 阅读:24608 作者:359

1 .函数指针和指针函数直接看最后直接明白

1.1函数指针参考链接:link

程序中定义的函数。 程序在编译时为这个函数代码分配存储空间。 此存储区域的起始地址称为此函数的地址,即函数指针。

函数名称是指针,指向函数的代码可以作为函数调用,也可以作为参数传递(

定义实现//intmax的函数(int y,int y )//max函数) int y; if(xy ) z=x; (else ) z=y; }返回z; (}int main ) ) int(*p ) ) int,int ); //函数指针定义int a=1、b=2、c=5的p=Max; //赋值max-PC=p(a,b ); //Max(a,b )和等效printf(%p%p )、p、max ); //指针地址相同的返回0; } 1.2指针函数返回值为指针的函数

int*max2(intx,int y ) { int *temp=new int; if(xy ) ) { *temp=x; } else { *temp=y; }返回模板; }int main () autodata=max2) 1,2 ); printf(%d%p(n )、*data、data ); 删除数据; 数据=nullptr; } 2.可以使用函数模板和模板函数2.1函数模板函数模板来创建支持多个不同参数的公共函数,以避免重载函数的函数主体重复设计。

templatetypenametvoidswap(t*a,T *b ) { T temp=*a; *a=*b; * b=时间; } templateclasstypetypemin (typea,Type b ) { return a b? a : b; (}int main ) ) { int a=10,b=15; sapint(a,b ); printf(%d%d(n ),a,b ); swap(a,b ); printf(%d%d(n ),a,b ); 返回0; } 2.2实例化模板函数模板的类型参数将成为模板函数,函数模板将成为模板,模板的具体用法称为模板函数

3 .指针数组和数组指针引用链接:link

3.1指针数组的本质是数组,数组中存储的内容是指针

int *data[n]; //赋值int *p[3]; int a[3][10]; p; //p[1]; 下一指针for(intI=0; i3; I ) p(I )=a (I ); //p={a[0],a[1],a[2]; } 3.2数组指针(行指针)的本质是指针,指针是指数组

int(p ) [n]; //赋值int a[3][10]; int(p ) [10];//指向包含4个元素的一维数组的数组指针p=a; //p=a[0] //数组名称即数组的起始地址p; a[1] 4突然亮起来的link

函数指针=指向函数的指针

指针函数=返回指针的函数

数组指针=指向数组的指针

指针数组=内容是指针的数组

类模板=用于生成类的模板

模板类=使用类模板生成的类

函数模板=用于生成函数的模板

模板函数=使用函数模板生成的函数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。