快好知 kuaihz订阅看过栏目

 

特化是由一般到特殊的生物进化方式。指物种适应于某一独特的生活环境、形成局部器官过于发达的一种特异适应,是分化式进化的特殊情况。

形成过程

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

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

含义

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

简化式进化

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

模板显示特化

在有些时候,一般性的模板定义对于某种类型来说并不适用。例如,假设我们有函数模板max()

的定义:

如果函数模板用const char*型的模板实参实例化,并且我们还想让每个实参都被解释为

C 风格的字符串,而不是字符的指针,则通用模板定义给出正确的语义就不正确了。为了获

得正确的语义,我们必须为函数模板实例化提供特化的定义。

在模板显示特化定义(explicit specialization definition) 中,先是关键字template 和一对

尖括号(<>, 一个小于号和一个大于号),然后是函数模板特化的定义。该定义指出了模板

名、被用来特化模板的模板实参,以及函数参数表和函数体。在下面的例子中,为max(const

char*, const char*)定义了一个显示特化:

由于有了这个显示特化,当在程序中调用函数max(const char*,const char*)时,模板不会

用类型const char*来实例化。对所有用两个const char*型实参进行调用的max(), 都会调用这

个特化的定义。而对于其他的调用,根据通用模板定义实例化,一个实例然后再调用它。

投稿
非常不爽,删了吧! 相关词条:其他 特殊 物种 器官 爱尔兰鹿 蛔虫