模板编译原型

来源:互联网 发布:无线网络规划软件 编辑:程序博客网 时间:2024/06/09 20:03
一 概述:
    一般而言,当调用函数时,编译器只需看到函数的声明。定义类类型的对象的时候,类定义必须可用,但是成员函数的定义不是必须存在。因此,将类的定义和函数声明放在头文件中,而普通函数和类成员函数的定义放在源文件中。
     模板则不同:要进行实例化,编译器必须能访问定义模板的源代码。

二 编译模型
     标准C++为编译模板代码定义了两种模型:包含模型(所有编译器支持);分别编译模型(部分编译器支持)。 
     
     1.包含模型
         例如:
            head.h
            #ifndef HEAD_H
            #define HEAD_H
            template<typename T>
            void test(T &t1);//声明
            #include"head.cpp"//获得test的定义
            #endif

      2. 分别编译模型:export关键字(部分编译器支持)。
原创粉丝点击