Общая идея этой статьи - продемонстрировать, как с помощью C ++ 17 поддерживать область видимости (также известную как блок) как можно более чистой. Под «чистым» прицелом я подразумеваю две вещи:

  1. как можно меньше переменных,
  2. все переменные как можно чаще являются константными.

Обратите внимание, что в этом примере тело main () содержит исключительно константные переменные. Это хорошая практика в ситуациях, когда вы хотите разместить свой довольно длинный алгоритм в одной области и хотели бы избежать любых ошибок, возникающих из-за непреднамеренного изменения переменной.

Начнем с необходимых нам включений.

Нам понадобится помощь, чтобы распечатать содержимое вектора.

Пришло время объявить основную функцию, область тела которой мы собираемся сделать максимально безопасной. В качестве примера алгоритма давайте выберем вычисление медианного значения массива вместе с индексами значений, которые участвуют в вычислении медианы. Множественные возвращаемые значения - это то, что не было изящно управляемым в C ++ до C ++ 17. Я предлагаю читателю следить за комментариями в приведенном ниже коде, чтобы понять, что происходит.

Спасибо, что остались со мной до конца, чтобы узнать, как сделать ваш код C ++ более функциональным с помощью структурированных привязок. Не стесняйтесь комментировать свои мысли о современных методах разработки кода на C ++. Вы можете найти весь код по ссылке ниже.