跳轉至內容

更多 C++ 習語/Enable if

來自華夏公益教科書,為開放世界提供開放書籍

有時,類模板的成員函式(可能是過載集中的一個)只對某些模板引數有意義。enable_if 習語使用 SFINAE 在過載解析之前消除不需要的函式。

其他名稱

[編輯 | 編輯原始碼]

解決方案和示例程式碼

[編輯 | 編輯原始碼]

已知用途

[編輯 | 編輯原始碼]

enable_if 的一個用途是在實現標準容器的 (size_type, value_type) 建構函式上的要求,例如,如果 value_type 是一個整型型別,則該建構函式具有特殊行為。存在更原始的解決方案,但在這種情況下,enable_if 很優雅。

[編輯 | 編輯原始碼]

SFINAE,元函式。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書