簡體   English   中英

是否可以使用符合 C++17 的 C++14 創建迭代器?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM