Заголовок стандартной библиотеки <ciso646> (до C++20), <iso646.h>
Этот заголовок изначально был в стандартной библиотеке C как <iso646.h>.
Заголовок совместимости, в C определяет альтернативные представления операторов, которые являются ключевыми словами в C++.
Это означает, что в соответствии с реализацией, включение этого заголовка не оказывает никакого эффекта.
Примечания
В старых или не соответствующих стандарту компиляторах использование альтернативных представлений операторов может по-прежнему потребовать включения этого заголовка.
<ciso646> удалено в C++20. Соответствующее <iso646.h> по-прежнему доступно в C++20.
Перед C++20 включение <ciso646> иногда использовалось как метод получения определений макросов версии библиотеки, специфичных для реализации, без побочных эффектов. Начиная с C++20, для этой цели был добавлен заголовок <version>.
#include <ciso646> #ifdef _LIBCPP_VERSION #error Using LLVM libc++ #elif __GLIBCXX__ // Note: only version 6.1 or newer define this in ciso646 #error Using GNU libstdc++ #elif _CPPLIB_VER // Note: used by Visual Studio #error Using Microsoft STL #else #error Using an unknown standard library #endif
Возможный вывод:
main.cpp:7:2: error: Using Microsoft STL #error Using Microsoft STL ^ 1 error generated.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/header/ciso646