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