zoukankan      html  css  js  c++  java
  • 函数模板和类模板成员函数的定义通常放在头文件中

    今天写程序时,将函数模板的声明和定义分开放在头文件和.cpp文件中,发生了连接错误。上网查看资料和查看《C++ PRIMER 5》P582发现,:

    函数模板和类模板成员函数的定义通常放在头文件中,除非使用export关键字实现分离。


    下面是《C++ PRIMER 5》的原文(P582):

    关键概念:模板和头文件

    模板包含两种名字:

    1.那些不依赖于模板参数的名字。

    2.那些依赖于模板参数的名字。

        当使用模板时,所有不依赖于模板参数的名字都必须是可见的,这是由模板的提供者来保证的。而且,模板的提供者必须保证,当模板被实例化时,模板的定义,包括类模板的成员的定义,也必须是可见的。

        用来实例化模板的所有函数、类型以及与类型关联的运算符的声明都必须是可见的,这是由模板的用户来保证的。

        通过组织良好的程序结构,恰当使用头文件,这些要求都容易满足。模板的设计者应该提供一个头文件,包含模板定义以及在类模板或成员定义中用到的所有名字的声明。模板的用户必须包含模板的头文件,以及用来实例化模板的任何类型的头文件。

  • 相关阅读:
    如何在网页上显示html代码?
    3s自动跳转到登陆界面
    数据交互 ajax代码整理
    45种Javascript技巧大全【转藏】
    react环境搭建
    overflow 那些我们忽略的特点
    CSS3 动画效果合集
    2016年上半年前端资源汇总
    math.js 使用...
    php Apache No input file
  • 原文地址:https://www.cnblogs.com/cnsec/p/3789825.html
Copyright © 2011-2022 走看看