程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-C++中順序容器 erase,C++ Primer是否出錯

c++-C++中順序容器 erase,C++ Primer是否出錯

編輯:編程綜合問答
C++中順序容器 erase,C++ Primer是否出錯

C++ Primer中文第五版9.3.3的P312刪除多個元素原文:
elem1=slist.erase(elem1,elem2); //調用後,elem1==elem2
迭代器elem1指向我們要刪除的第一個元素,elem2指向我們要刪除的最後一個元素之後的位置。

這句話是不是錯了。調用slist.erase(elem1,elem2)刪除了slist從elem1到elem2(包含elem2)的元素,指向elem2後的元素。那麼調用之後elem1怎麼會等於elem2呢!

最佳回答:


也就是說調用後,elem1==elem2,即刪除了 elem1 和 elem2 之間的元素。
如果你想知道書上說的是對,還是錯,最好是自己上機編程來驗證,而不是來這裡提問。

編譯器給出的答案,肯定是正確的。雖然說,不同編譯器、對某些語句可能得到不同的答案,但這也是你學習的一部分,知道會比不會強一些。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved