泛型是个更广泛的概念,java,C#等其他语言也“实现”了泛型概念。
对于C++语言来说,使用了模板实现泛型。想想“C++模板”,“泛型”这种技术,这种概念,目的是更好地进行代码复用,更好地表达类型,类型表达的安全。 希望对您有些帮助。
编译时分配的函数入口地址,函数名就是入口地址;最常用的用途就是把函数指针作为参数传给其它函数;
#include<stdio.h> int jug(int x, int y) { if(x>=0) { return x; } else if(y==0) { return x; } else return x/y; } int sub(int x,int y) { return(x+y); } int minus(int x,int y) { return (x-y); } void test(int (*p)(int,int),int a,int b) { int Int1; Int1=(*p)(a,b); printf("a=%d,b=%d\n",a,b,Int1); } int main() { int a=1,b=2,c=3,d=4,e=-5; test(sub,a,b); test(minus,c,d); test(jug,e,b); return 0; }
类的静态函数不属于类对象,只属于类本身。静态模板类
#include<iostream> using namespace std; template<class T> //建立一个静态类模板 class Operate { public: static T Add(T a,T b) {return a+b;} static T Mul(T a,T b) {return a*b;} static T Judge(T a, T b=1) { if(a>=0) {return a;} else {return a/b;} } }; int main() { int A,B,C,D,E,x,y,z; A=1,B=2,C=3,D=4,E=5; x=Operate<int>::Add(A,B); y=Operate<int>::Mul(C,D); z=Operate<int>::Judge(E,B); cout<<x<<‘\n‘<<y<<‘\n‘<<z<<endl; return 0; }
http://bdxnote.blog.163.com/blog/static/8444235200911311348529/
http://www.cnblogs.com/xiaofengkang/archive/2011/10/21/2220678.html
p110
20140407 泛型编程和模板,布布扣,bubuko.com
原文:http://www.cnblogs.com/yexuannan/p/3650666.html