站在对象模型的顶端 分类: 深度探索C++对象模型 20130103 10:13 138人阅读 评论(0) 收藏

7.1 Template

Template 的具现行为

a.定义指针,不会具现

b.定义reference会具现

c.函数在使用的时候会被具现

Template 的错误信息

有些于类型相关的错误和判断将会在具体实现的时候被发现。

a.赋值

b.比较

Template 名称的决议方式:

  这意味着一个编译器必须保持两个scope contexts:
  1)"scope of the template declaration",用以专注于一般的template class.
  2)"scope of the template instantiation",用以专注于特定的实体.
  编译器的决议算法必须决定哪一个才是适当的scope,然后在其中搜寻适当的name.

MemberFunction 具现

a.编译器如何找到函数定义:I.包含template program text file 2.Point.h来坚持.c或者.CPP文件

b.解决方案之一就是,根本忽略这项要求,把一个已经具现出来的class的所有member functions都产生出来.另一种策略就是仿真链接操作,检测看看哪一个函数真正需要,然后只为它们产生实体.

c.  解决方案之一就是产生多个实体,然后从连接器中提供支持,只留下其中一个实体,其余都忽略.另一个办法就是由使用者来导引"仿真链接阶段"的具现策略,决定哪些实体才是需要的.



版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/deman/p/4716585.html