[计算机科学经

defaultmovet defaultcopyt defaultswapt defaultinitt

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 兩類難題。第㆒類對 templates 撰寫者頗為麻煩:如何保證我們所撰 寫的 templates 對於「符合文件要求」的任何 template arguments 都能夠正常運作?另㆒類問題正 好相對:作為使用者,當 templates 的行為未與文件㆒致時,如何得知我們的程式碼違反了哪㆒ 個 template parameter 的條件? 深入探討這個問題之前,我們應該先靜㆘心來細想:template parameters 可能帶來哪些種類的約 束條件(constraints)。本節大部份內容都是討論那些「如果違反就會引發編譯錯誤」的約束條 件,我們把這些條件稱為語法約束(syntactic constraints),包括:必須存在特定某種建構式、 對某些特殊函式的呼叫會造成模稜兩可(歧義性)等等。其他種類的約束條件稱為 語意約束 (semantic constraints)。 16 有些 C++ 標準委員會成員發現,std.hpp 相當好用;他們並且已經建議把它視為㆒個標準表頭檔 加...
View Full Document

Ask a homework question - tutors are online