複製鏈接
請複製以下鏈接發送給好友

特化

鎖定
特化是由一般到特殊生物進化方式。指物種適應於某一獨特的生活環境、形成局部器官過於發達的一種特異適應,是分化式進化的特殊情況。
中文名
特化
含    義
由一般到特殊的生物進化方式
類    型
分化式進化的特殊情況
學    科
生物學

特化形成過程

特化 特化
生物的適應性變化區分成生物的進化和特化兩種不同的概念。進化即生物逐漸演變,向前發展的過程;
特化是指生物的水平發展的物種形成過程,即生物多樣性的形成過程,這種區分可以避免許多不必要的爭論,把這個新的概念體系和以往人們對生物進化研究的理論相結合。並用該方法重新解釋以往人們的研究發現,可以看出生物發展的歷史就是生物進化和特化交替進行的歷史,以此可解釋許多不同理論之間的矛盾。

特化含義

例如從多趾向單蹄方向發展,愛爾蘭鹿有特別發達而沉重的角,等等,這些都是特化式進化的結果。生物特化的器官或生理特徵都是對特殊的局部環境高度適應的結果。由於特化,生物類型大大縮小了原有的適應範圍,所以當環境發生突然的或較大的變化時,往往導致它們的滅絕,成為進化樹中的盲枝。

特化簡化式進化

簡化式進化(或稱退化)——由結構複雜變為結構簡單的進化。如:蛔蟲的運動器官、感覺器官和消化器官退化,只有生殖器官發達。

特化模板顯示特化

在有些時候,一般性的模板定義對於某種類型來説並不適用。例如,假設我們有函數模板max()
的定義:
// 通用的模板定義
template<class T>
T max(T t1, T t2)
{
    return (t1 > t2 ? t1 : t2);
}
如果函數模板用const char*型的模板實參實例化,並且我們還想讓每個實參都被解釋為
C 風格的字符串,而不是字符的指針,則通用模板定義給出正確的語義就不正確了。為了獲
得正確的語義,我們必須為函數模板實例化提供特化的定義。
在模板顯示特化定義(explicit specialization definition) 中,先是關鍵字template 和一對
尖括號(<>, 一個小於號和一個大於號),然後是函數模板特化的定義。該定義指出了模板
名、被用來特化模板的模板實參,以及函數參數表和函數體。在下面的例子中,為max(constchar*, 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(), 都會調用這
個特化的定義。而對於其他的調用,根據通用模板定義實例化,一個實例然後再調用它。
特化 特化