第9章群体类和群体数据的组织.pptVIP

  • 3
  • 0
  • 约3.09万字
  • 约 100页
  • 2017-02-09 发布于重庆
  • 举报
第9章群体类和群体数据的组织

* ******************2013/12/17 * * * * * * * * * * * * * * * * * * * * * 函数模板 vs 函数 函数模板本身不是函数 编译器不会为函数模板本身生成目标代码 只有函数模板的实例能被调用 例:考虑下列模板 template class T void outputArray(const T *array, int count); 若a是int数组,outputArray(a, 10)等价于outputArrayint(a, 10),被调用的是outputArray实例 * 9.5 深度探索 —— 9.5.1 模板的实例化机制 隐含实例化 模板的实例化 根据函数模板生成具体的函数、或根据类模板生成具体的类的过程 隐含实例化 编译器会自动按需对模板实例化 所有会被使用的模板实例会被生成 对类模板的隐含实例化并不意味着对它成员函数的定义也进行实例化,当类模板成员函数会被使用时,才会被实例化 * 9.5 深度探索 —— 9.5.1 模板的实例化机制 多文件结构中模板的组织 模板实例化机制带来的新问题 不能把下面与模板相关的定义放在源文件中 函数模板的定义 类模板成员函数 类模板静态数据成员 解决方法 把与模板相关的定义放在头文件中——最通常的解决办法 编译器有特殊处理,保证不会有连接冲突 使用export关键字——编译器支持

文档评论(0)

1亿VIP精品文档

相关文档