词条 | 特化 |
释义 | 特化的含义特化是由一般到特殊的生物进化方式.指物种适应于某一独特的生活环境,形成局部器官过于发达的一种特异适应,是分化式进化的特殊情况.例如,马从多趾向单蹄方向发展,爱尔兰鹿有特别发达而沉重的角等,都是特化式进化的结果.生物特化的器官或生理特征都是对特殊的,局部环境高度适应的结果.由于特化生物类型大大缩小了原有的适应范围,所以当环境发生突然的或较大的变化时,往往导致他们的灭绝,成为进化树中的盲枝. 特化的形成过程生物的适应性变化区分成生物的进化和特化两种不同的概念,进化即生物逐渐演变,向前发展的过程; 特化是指生物的水平发展的物种形成过程,即生物多样性的形成过程,这种区分可以避免许多不必要的争论,把这个新的概念体系和以往人们对生物进化研究的理论相结合。并用该方法重新解释以往人们的研究发现,可以看出生物发展的历史就是生物进化和特化交替进行的历史,以此可解释许多不同理论之间的矛盾。 简化式进化简化式进化(或称退化)——由结构复杂变为结构简单的进化。如:蛔虫的运动器官、感觉器官退化,只有生殖器官发达。 模板显式特化在有些时候,一般性的模板定义对于某种类型来说并不适用。例如,假设我们有函数模板max() 的定义: // 通用的模板定义 template <class T> T max( T t1, T t2 ) { return (t1 > t2 ? t1 : t2); } 如果函数模板用const char*型的模板实参实例化,并且我们还想让每个实参都被解释为 C 风格的字符串,而不是字符的指针,则通用模板定义给出正确的语义就不正确了。为了获 得正确的语义,我们必须为函数模板实例化提供特化的定义。 在模板显式特化定义(explicit specialization definition) 中,先是关键字template 和一对 尖括号(<>, 一个小于号和一个大于号),然后是函数模板特化的定义。该定义指出了模板 名、被用来特化模板的模板实参,以及函数参数表和函数体。在下面的例子中,为max(const char*, const char*)定义了一个显式特化: #include <cstring> // const char* 显式特化: // 覆盖了来自通用模板定义的实例 typedef const char *PCC; template<> PCC max< PCC >( PCC s1, PCC s2 ) { return ( strcmp( s1, s2 ) > 0 ? s1 : s2 ); } 由于有了这个显式特化,当在程序中调用函数max(const char*,const char*)时,模板不会 用类型const char*来实例化。对所有用两个const char*型实参进行调用的max(), 都会调用这 个特化的定义。而对于其他的调用,根据通用模板定义实例化,一个实例然后再调用它。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。