我有一個要求,我要窺探下一個迭代器位置,看看它是否是容器的末端。由於C++ 11尚未採用,因此我無法使用std::next
。我可以使用boost::next
作爲一個確切的選擇嗎?謝謝boost :: next和std :: next是否相等?
1
A
回答
1
如果它不按預期工作,我會感到驚訝。如果有疑問,你可以隨時使用std::advance
some_container c;
some_container::iterator it;
std::advance(it, 1);
bool b = it == c.end();
0
沒有一般。如果你將它用於迭代器(這是假設的使用),可能是肯定的。
我說一般的原因是因爲,如果參數類不是迭代器,則在第二個(默認)參數中有std::next
(iterator_traits<...>
)中的替換錯誤。所以以前與boost::next
一起使用的東西可能不再適用於std::next
。
例如,我曾經使用boost::next
來處理非迭代器但定義了operator++
(但不是二元運算符)的類。通常我想要生成下一個元素,並且boost::next
對此非常合適。
struct myint{
int impl;
myint& operator++(){impl++; return *this;}
}
boost::next
作品與此類但std::next
沒有。所以,我必須堅持做一個副本並增加或回落到boost::next
(或者甚至最壞,爲不是迭代器的東西生成iterator_trait
)。
我與std::next
的問題是第二個參數(與difference_type
有關)對參數施加了不必要的限制。但我可能是濫用功能::next
的錯誤。
相關問題
- 1. sed next&Next命令
- 2. jQuery(this).find('title')。next()。next()。next()。eq(0).text();?
- 3. next()和next().CharAt(0)之間的區別;
- 4. jquery next()和removeClass()
- 5. jQuery .next()和.previous()
- 6. fullcalendar next和prev
- 7. .next()和.scrollLeft()
- 8. JavaScript等同於JQuery .next()
- 9. 使用功能$(本)和next()等表
- 10. 'Next Without'因爲額外'Next'
- 11. Flex wrap overflow next element next
- 12. Next和Previous鍵Jquery
- 13. System.Random()和Next()返回
- 14. 爲什麼std :: next不接受InputIterator?
- 15. __next__和__str__是否由內部等效的next和str函數調用?
- 16. Expected next()
- 17. RFT是否具有與jQuery .next()相同的功能?
- 18. 爲什麼Next()方法調用next?
- 19. align ul next next to下拉菜單
- 20. 什麼是在jquery中查找next()。next()的另一種方法
- 21. expressjs app.VERB調用中next()和next('route')有什麼區別?
- 22. applyMiddleware()中的next是什麼?
- 23. 什麼是npm我bootstrap @ next?
- 24. nodejs中next(err)和next(new Error(err))之間的區別是什麼?
- 25. Angular Next和Previous按鈕
- 26. get'self','next'和'previous'links(ember v2)
- 27. For-Next Loop和Arrays - VBA
- 28. JQuery Mobile Swipe .load .prev和.next
- 29. ResultSet的getFetchSize()和next()方法
- 30. PHP數組的next()和prev()
標準庫中的許多新C++ 11功能都是在它們的Boost等價物之後建模的。所以沒有看任何文件,我會說它應該工作。 –
[boost :: next](http://www.boost.org/doc/libs/1_54_0/libs/utility/utility.htm#functions_next_prior)vs [std :: next](http://en.cppreference。 COM/W/CPP /迭代器/未來)。所以是的。 –
當你嘗試過時發生了什麼?文件說什麼? –