爲什麼沒有std::basic_string<...>::back()
成員函數?std :: string :: back()
的功能顯然是在那裏,我的意思是,一個可以寫
myString[myString.size()-1]
*myString.rbegin()
我是不是假設的可能性back()
,以及兩者之間的一些錯誤的等價上面的方法?你可以說我的第二個版本足夠簡潔,但是爲什麼不提供一個函數,這個函數實現起來微不足道讓字符串離容器更近一步?有沒有我失蹤的警告?
謝謝。
爲什麼沒有std::basic_string<...>::back()
成員函數?std :: string :: back()
的功能顯然是在那裏,我的意思是,一個可以寫
myString[myString.size()-1]
*myString.rbegin()
我是不是假設的可能性back()
,以及兩者之間的一些錯誤的等價上面的方法?你可以說我的第二個版本足夠簡潔,但是爲什麼不提供一個函數,這個函數實現起來微不足道讓字符串離容器更近一步?有沒有我失蹤的警告?
謝謝。
std::string
應該沒有這些功能,沒有什麼特別的理由,並且這個斷言由於它們已經被添加到即將出現的C++標準中而被支持。
你確定它不只是MSVC嗎?它真的在標準草案中嗎? –
是的,我在看n3290.pdf(FDIS)。 –
如果C++ 0x標準(或至少工作草案)是相信的,那麼現在確實存在front()
和back()
。
請參閱第21.4.5節。
[獲取std :: string的最後一個元素]的可能的重複(http://stackoverflow.com/questions/4884548/get-the-last-element-of-a-stdstring) – Xeo
也沒有'前面()'... –
此外,我只是搜索'std :: string :: back',這個問題首先彈出... – Xeo