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. 解决方案之一就是产生多个实体,然后从连接器中提供支持,只留下其中一个实体,其余都忽略.另一个办法就是由使用者来导引"仿真链接阶段"的具现策略,决定哪些实体才是需要的.
版权声明:本文为博主原创文章,未经博主允许不得转载。