Scott Mayers的「Effective Modern C++」中的第13項聲明優先於const_iterators而不是迭代器。我同意,但我也想使用非成員函數而不是成員函數。根據該書,在C++ 14中應該有一個非成員函數std::cbegin()
和std::cend()
。在C++中支持`std :: cbegin()`14
爲了使用這個功能,我剛剛安裝了gcc版本4.9.2並編譯了標誌-std=c++14
。它似乎編譯,直到我嘗試使用std::cbegin()
。我開始尋找對這個功能的支持,但是找不到任何關於它的東西。例如,在gnu onlinedocs status這個函數甚至沒有提及。
我的問題是,將std::cbegin()
和std::cend()
確實在C++ 14中支持或者這是本書中的錯誤?如果它將成爲C++ 14的特性,那麼是否有編譯器已經支持這些功能,何時gcc會支持它?
關於begin()
,在SO上有很多問題,但這些問題是關於成員函數或關於constexpr- ness而不是關於非成員變體的支持。
這是我的建議。只有我自己沒有寫,因爲它應該由委員會的一些成員代替我寫。 :) –