И вот r-value на этот самый type и используется для инстанцирования вызовов с переданным к-value значением, а версия с l-value ссылкой на этот type используется для инстанцирования с l-value значением.
std::remove_reference применяется только к параметру std::forward и нужен для реализации одного конкретного случая. Тип результата у std::forward все так же выводится с помощью reference collapse rule.Только целые, никаких user type.
constexpr не больно-то больше свободы. constexpr является рекомендацией, а не указанием. Рекомендация накладывает ограничения на код, но ничего не запрещает компилятору.constexpr в рантайме. static constexpr const.Первое о чем думаю sql, работа с БД.
Если дальше работать с C++, то QT.
Неинтересных/нудных задач стала очень много
Скажите, а кто это такой - Генерал Фэйлор - и почему он читает мой диск? (П)
for. Тебе просто STL надо подкачать, почитай Джосаттиса.std::map<std::string, std::map<std::string, std::string>> loc;
for( auto menu_iter = std::begin( loc ); menu_iter != std::end( loc ); ++menu_iter )
{
for( auto submenu_iter = std::begin( menu_iter->second ); submenu_iter != std::end( menu_iter->second ); ++submenu_iter )
{
// payload...
}
}
А какие еще "логики" бывают кроме этой "бизнес" логики?
Над этим вопросом надо хорошо подумать про себя и совсем не обязательно отвечать на него вслух. Ответ, возможно, даст тебе границы понимания, где кончается ответственность одного компонента и начинается ответственность другого.