Переход через вложенную карту

Хотя я бы точно написал @ LaurentPerrin ответ, для полноты я должен сказать следующее:

Недостатком этого метода является то, что заголовки запроса, которые вы отправляете на somewhere.com, не связаны с запросить заголовки вашего сервера. Например: если запрос, отправленный вам, имеет определенное значение для Accept-Language, вполне вероятно, что (поскольку код стоит), вы не укажете одно и то же значение для Accept-Value при проксировании с somewhere.com. Таким образом, ресурс может быть возвращен вам (а затем от вас к исходному реквестеру) на неправильном языке.

Или если запрос к вам приходит с Accept-Encoding: gzip, текущий код получит большой файл несжатый , и будет передавать его обратно без сжатия, когда вы могли бы сохранить пропускную способность и время, приняв и передав обратно сжатый файл.

Это может быть или не быть актуальным для вы.

Если есть важные заголовки, которые вы чувствуете, вам нужно пройти, вы можете либо добавить код, чтобы явно скопировать их из вашего запроса на запрос, который вы отправляете somewhere.com, а затем скопировать соответствующие заголовки ответов назад, или используйте node-http-proxy в https://github.com/nodejitsu/node-http-proxy .

Пример для пересылки прокси с помощью node-http proxy https://github.com/nodejitsu/node-http-proxy/blob/master/examples/http/forward-proxy.js

0
задан gameon67 17 January 2019 в 05:28
поделиться

2 ответа

Ваш itr указывает на pair<char, map<int, int> >,
, поэтому его second является map<int, int>,
, поэтому итератор в , который сделает хитрость:

for(map<int, int>::iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2){
  cout << itr2->second << endl;
}
0
ответ дан Beta 17 January 2019 в 05:28
поделиться

С C ++ 17 вы можете использовать структурированное связывание для выполнения этого:

0
ответ дан Andreas DM 17 January 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: