C++ ODR

單定義規則(ODR,One Definition Rule):C++ 標準規定每個程序應該只包含那個程序中用到的每個非內聯函數或對象的一個定義,但是在同一個程序中,一個類、枚舉類型、具有內部鏈接的內聯函數和和一個模板可能有不止一個定義,因此只要保證每個定義至出現在一個獨立的翻譯單元(TU)即可。簡言之:同一翻譯單元不能出現多個相同的定義(不能出現重複定義、歧義。)。

定義的同等性:在不同的翻譯單元中,當且僅當兩個定義中每個符號形式都相同,而是這些符號在兩個翻譯單元具有相同的含義時,這兩個定義才完全相同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章