Просто укажите первый элемент - это пара. Остальное будет выведено автоматически:
for(auto& pair : {std::pair<int,int>{1,2}, {3,4}})
;
Исчерпанный замкнутый инициализатор выводится как std::initalizer_list
, а первый элемент, называемый парой, потребует всех элементов, которые будут Инитализатор для пары.
Вы отметили C ++ 11, но для полноты он может быть еще короче в C ++ 17:
for(auto& pair : {std::pair{1,2}, {3,4}})
;
Из-за аргумента шаблона шаблона вычет. Если вы этого не сделаете, то std::make_pair
будет делать, если вы хотите сохранить преимущества вывода аргумента шаблона:
for(auto& pair : {std::make_pair(1,2), {3,4}})
;
Хотя якобы это не так полезно для игры в гольф, как Версия C ++ 17.
rewrite ^/comments.php$ /comments/$arg_id? permanent;
Согласно документация , «rewrite работает только по пути, а не по параметрам».
Попробуйте это вместо:
if ($args ~ id=(.+)){
rewrite comments\.php /comments/$1 last;
}