[英]Is it possible to create iterators with C++14 that are C++17 compliant?
我使用的是 GCC 6.2.0,它默認使用 C++14。 在未來的某個時候,我們想遷移到 C++17。 我想在我們的一些類中添加一些 C++ 迭代器,但它們在 C++14 和 C++17 之間發生了變化。 如果我現在寫它們,我以后升級編譯器版本時是否必須重寫它們,或者有沒有辦法現在寫一次並讓它們向前兼容?
我相信您所說的變化是刪除了 class 模板std::iterator
。
std::iterator
過去和永遠只是一個實用助手; 它被刪除是因為它是一個簡單的實用程序,並且因為人們認為它不僅僅是一個實用程序助手。
不要使用std::iterator
,只需自己定義 typedef。
如果更新已經使用std::iterator
的代碼庫,請創建自己的(就像 6 行代碼)並搜索/替換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.