zoukankan      html  css  js  c++  java
  • C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?

    C++ Template》第六章讲过这个问题
    组织模板代码有三种方式
    1.包含模型(常规写法 将实现写在头文件中)
    2.显式实例化(实现写在cpp文件中,使用template class语法进行显式实例化)
    3.分离模型(使用C++ export关键字声明导出)

    第三种方式理论最优,但是实际从C++标准提出之后主流编译器没有支持过,并且在最新的C++11标准中已经废除此特性,export关键字保留待用。
    那么实际上能够使用的实现分离也就只有显式实例化

    比较有意思的是,《C++ Template》书中作者建议代码为分离模型做准备,等待编译器支持之后替换,没想到最终这个特性被C++标准废弃了。


    作者:唐沂
    链接:http://www.zhihu.com/question/20630104/answer/80220897
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。
  • 相关阅读:
    Vue学习笔记之Vue指令系统介绍
    Vue学习笔记之Vue的使用
    Vue学习笔记之Vue介绍
    vim笔记
    python安装包的方式
    基本认证与摘要认证
    curl常用指令
    python优缺点小结
    环境变量的作用
    mac os、linux及unix之间的关系
  • 原文地址:https://www.cnblogs.com/gaoxianzhi/p/5723820.html
Copyright © 2011-2022 走看看