но в примерах использованы макросы для решения задач
Что бы эта локальная сеть связывала только меня и мой пк без wifi.
Шлюзом является видеосервер
route -p add 192.168.100.0 mask 255.255.255.0 <IP адрес ВПН сервера в сети 192.168.1.0>
route -p add 192.168.1.0 mask 255.255.255.0 <IP адрес ВПН клиента в сети 192.168.100.0>
ifconfig-push 10.8.0.8 255.255.255.0
MSYS_HOME=X:\msys64\usr
MINGW_HOME=X:\msys64\mingw64
# Обновление
pacman -Sy pacman
pacman -Su
pacman -Syu
# Установка окружения для сборки
pacman -S base-devel
# git
pacman -S git
# mingw
pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
# Остальное по необходимости
# cmake
pacman -S mingw-w64-x86_64-cmake mingw-w64-i686-cmake
# Qt5
pacman -S mingw32/mingw-w64-i686-qt5 mingw64/mingw-w64-x86_64-qt5
# QT Creator
pacman -S mingw32/mingw-w64-i686-qt-creator mingw64/mingw-w64-x86_64-qt-creator
# Поиск пакетов в репозитории
pacman -Ss <reg exp for find package>
make Garrys\ Mod\ 10 verbose=1
std::ifstream is{"test.txt", std::ios::binary}
функционала там нет
Пишите обычную функцию сортировки, так что бы она все возвращала через параметры. Отлаживаете функцию, чтоб она нормально работала. Затем просто подменяете функцию на макрос.
Например, была функция:
Входной массив arr является и выходным.
Стал макрос:
В принципе все.
В
do ... while(0)
все завернуто по двум причинам:1. при выходе из цикла все переменные, объявленные внутри цикла уничтожаться и не будут влиять на вызывающий код.
2. при использовании макроса можно ставить в конце точку с запятой, так будет выглядеть совсем как вызов функции
3. Сам цикл компилятор в итоговом коде удалит, но все побочные эффекты останутся
Как уже многие заметили в реальных проектах обычно так не делают, особенно на плюсах. Для подобного есть шаблоны.
На Си еще можно иногда встретить подобный подход, но то же не часто. Например, видел реализацию "встраиваемого" списка и очереди в подобном стиле.