请输入您要查询的百科知识:

 

词条 特化
释义

特化的含义

特化是由一般到特殊的生物进化方式.指物种适应于某一独特的生活环境,形成局部器官过于发达的一种特异适应,是分化式进化的特殊情况.例如,马从多趾向单蹄方向发展,爱尔兰鹿有特别发达而沉重的角等,都是特化式进化的结果.生物特化的器官或生理特征都是对特殊的,局部环境高度适应的结果.由于特化生物类型大大缩小了原有的适应范围,所以当环境发生突然的或较大的变化时,往往导致他们的灭绝,成为进化树中的盲枝.

特化的形成过程

生物的适应性变化区分成生物的进化和特化两种不同的概念,进化即生物逐渐演变,向前发展的过程;

特化是指生物的水平发展的物种形成过程,即生物多样性的形成过程,这种区分可以避免许多不必要的争论,把这个新的概念体系和以往人们对生物进化研究的理论相结合。并用该方法重新解释以往人们的研究发现,可以看出生物发展的历史就是生物进化和特化交替进行的历史,以此可解释许多不同理论之间的矛盾。

简化式进化

简化式进化(或称退化)——由结构复杂变为结构简单的进化。如:蛔虫的运动器官、感觉器官退化,只有生殖器官发达。

模板显式特化

在有些时候,一般性的模板定义对于某种类型来说并不适用。例如,假设我们有函数模板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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 19:46:20