回答
這應該是不可能的。 [container.requirements.general]中的標準狀態/ 6
begin()
返回一個引用容器中第一個元素的迭代器。end()
返回一個迭代器,其中 是容器的過去最終值。如果容器是空的,那麼begin() == end();
所以如果contianer.empty() == true
然後container.begin()
必須等於container.end()
我知道standart說什麼,但請更加開放,不要把它當作自然規律。可以有這樣的情況,我只是流浪,如果有人有這樣的 –
我不是沒有開放頭腦我只是說根據標準,它不能發生。如果是這樣,那麼你的實現中有一個錯誤,它需要修復。 – NathanOliver
@IrakliDarbuashvili:這些是規則,我不知道目前單一的C++實現無法滿足它們。既然你認爲提供和MCVE是以某種方式泄露祕密信息,我會更傾向於相信,你不是很有經驗,你觀察到的是你的代碼中的錯誤,或者錯誤地解釋你的觀察。 – IInspectable
- 1. 目標C:開始點和結束點
- 2. XML開始和結束標記
- 3. 製作標題,開始,結束隱形
- 4. CKEditor標籤檢測結束/開始
- 5. MJPEG的開始和結束標籤?
- 6. 何時標準化矢量?
- 7. 在開始和結束點(!)
- 8. 在開始/結束日期
- 9. 獲取的開始/結束
- 10. 開始結束編號
- 11. .net標準中是否存在開始/結束異步套接字方法(APM)?
- 12. 圓弧變換開始結束點到開始角度結束角度
- 13. CLI/C#通過標準::矢量<>結構數據到C#
- 14. C++標準模板庫矢量問題
- 15. typecasting Eigen :: VectorXd爲標準::矢量
- 16. 開始標記和結束標記之間的線條
- 17. BNF語法匹配開始標記和結束標記
- 18. jQuery的搜索開始標記和結束標記字符串
- 19. 初始化矢量矢量(外部矢量和內部矢量)
- 20. 結構中的矢量初始化
- 21. 正則表達式 - 從開始和行結束微調空白
- 22. MySQL Varchar類型輸出開始/結束空格
- 23. 在開始和結束的每行添加空格C#
- 24. 刪除XML元素的開始和結束空格
- 25. ASP Readline非標準行結束符
- 26. 設置開始和結束日期爲今天結束與PHP
- 27. 在Visual Studio中批量標準化行結束符
- 28. 使用的開始/結束的變量與列表模板標籤
- 29. 矢量矢量的初始化?
- 30. glyphicon日曆開始和結束日期
奇怪...你有一個代碼示例來證明這個問題? – blazs
考慮到,對於空的'std :: vector','begin()'等於'end()'是一個嚴格的要求,我懷疑以前是否有人觀察過它。除非我們不討論C++或兼容的C++實現。在那種情況下,你使用的是什麼編譯器和平臺? – IInspectable
我似乎還記得遇到過這種情況,但當整個「STL」事件是新的時候,它可能至少在20年前(也許更多),並且錯誤很常見。 –