在关于C++ 17进展的博客上,我阅读了以下内容:
P0007提出一个辅助函数模板as_const,它只需要一个引用并将其作为引用返回const.Run Code Online (Sandbox Code Playgroud)template <typename T> std::add_const_t<T>& as_const(T& t) { return t } template <typename T> void as_const(T const&&) = delete;
为什么const&&删除了重载?
我有一个std :: unordered_map
std::unordered_map<std::string, std::string> myMap;
Run Code Online (Sandbox Code Playgroud)
我想使用find获取一个const迭代器.在c ++ 03中我会这样做
std::unordered_map<std::string, std::string>::const_iterator = myMap.find("SomeValue");
Run Code Online (Sandbox Code Playgroud)
在c ++ 11中,我希望使用auto来减少模板
auto = myMap.find("SomeValue");
Run Code Online (Sandbox Code Playgroud)
这是const_iterator还是迭代器?编译器如何决定使用哪个?有没有办法可以强迫它选择const?