結構 (Struct) 與對 (Pair) 和元組 (Tuple) 的比較
當元素可以有明確的名稱時,偏好使用
struct
而非對 (pair) 與元組 (tuple)。
雖然使用對與元組可以避免定義自訂型別,並可能減少需要撰寫的程式碼,但是欄位名稱總比 .first
、.second
或 std::get<X>
清楚好讀。 雖然 C++14 後來引進了 std::get<Type>
來透過型別來存取,而不是透過索引存取元組的元件,這在某些情況下能部分減輕問題,但是欄位名稱還是比型別名稱更清楚且更具資訊。
在泛型程式碼中,如果元素本身沒有特定意義時,對和元組可能是適合的選擇。 他們也可以用在既有的程式碼或 API 有要求時。