У нас есть библиотека алгоритмов, выполняющая множество операций std::min
/std::max
для чисел, которые могут быть NaN. Учитывая этот пост: Почему выпуск /Debug имеет другой результат для std:: min?, мы поняли, что это явно небезопасно.
Есть ли способ запретить разработчикам использовать std::min
/std::max
?
Наш код скомпилирован как с VS2015, так и с g++. У нас есть общий заголовочный файл, содержащий все исходные файлы (через /FI
для VS2015 и -include
для g++). Есть ли какой-либо фрагмент кода/прагмы, который может быть помещен сюда, чтобы сделать какой-либо файл cpp с помощью std::min
или std::max
не скомпилирован?
Кстати, устаревший код, такой как заголовки STL, использующие эту функцию, не должен подвергаться воздействию. Только код, который мы пишем, должен быть затронут.