自訂基於範圍的For 迴圈的類型
要讓自訂類型與基於範圍的for 迴圈一起使用,您可以指定begin( ) 和end() 方法適合您的類型。這些方法應傳回迭代器,使循環能夠迭代類型的元素。
命名空間注意事項
如果您的自訂類型屬於命名空間,則應該定義該命名空間內的 begin() 和 end() 。例如,如果您的類型是 xml::my_type,則應定義 xml::begin() 和 xml::end() 以使其可供基於範圍的 for 迴圈存取。
要求對於begin() 和end()
您定義的begin() 和end() 方法必須滿足以下條件要求:
它們必須為基於範圍的for 循環正常運作提供必要的運算子和功能,包括以下內容:
實作begin() 和end 的兩個選項()
有兩種主要方法來實作begin() 和end()對於您的自訂類型:
範例:
考慮以下範例:
1 2 3 4 5 6 7 |
|
透過定義這些成員函數,現在可以迭代my_type 的實例超過使用基於範圍的for 循環:
1 2 3 4 |
|
以上是如何使我的自訂類型與基於 C 範圍的 For 迴圈配合使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!